Django: Почему я получаю NameError в shall, если у меня правильный импорт в admin.py
Я не очень понимаю, почему я получаю NameError, когда пытаюсь запустить Post.objects.all() в shell. (используя django_extensions)
Я сделал миграцию и вижу таблицу posts_post на db (работает нормально) и могу выполнять CRUD операции в запущенном приложении на локальном сервере.
Ниже приведен мой код и сообщение об ошибке.
размещает приложение
admin.py
from django.contrib import admin
from .models import Post
admin.site.register(Post)
settings.py
INSTALLED_APPS = [
...
'django_extensions',
'posts.apps.PostsConfig'
]
оболочка
Traceback (most recent call last)
Input In [1], in <cell line: 1>()
----> 1 Post.objects.all()
NameError: name 'Post' is not defined
Сначала вы должны импортировать модель, поэтому запишите ее следующим образом:
from some_app_name.models import Post
Post.objects.all()
И не пишите , так как это требует appname.from .models import Post
Пример: Если имя приложения posts
, то вы должны написать:
from posts.models import Post
Post.objects.all()