Django ModuleNotFoundError
Проблема с Django, моделью Post
.
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
class Post(models.Model):
class Status(models.TextChoices):
DRAFT = 'DF', 'Draft'
PUBLISHED = 'PB', 'Published'
title = models.CharField(max_length=250)
slug = models.SlugField(max_length=250)
author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='blog_posts')
body = models.TextField()
publish = models.DateTimeField(default=timezone.now)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
status = models.CharField(max_length=2, choices=Status.choices, default=Status.DRAFT)
class Meta:
ordering = ['-publish']
indexes = [models.Index(fields=['-publish']),]
def __str__(self):
return self.title
Воспроизведение ошибки:
- Запускаю shell командой:
python manage.py shell
- Ввожу команды:
>>> from blog.models import Post
>>> Post.Status.choices # Должен возвращать: [('DF', 'Draft'), ('PB', 'Published')]
>>> Post.Status.labels # Должен возвращать: ['Draft', 'Published']
>>> Post.Status.values # Должен возвращать: ['DF', 'PB']
>>> Post.Status.names # Должен возвращать: ['DRAFT', 'PUBLISHED']
При попытке импортировать Post
из blog.models
возникает ошибка:
File "<console>", line 1, in <module>
from blog.models import Post
ModuleNotFoundError: No module named 'blog'
Подскажите, как исправить ошибку?