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()

И не пишите from .models import Post, так как это требует appname.

Пример: Если имя приложения posts, то вы должны написать:

from posts.models import Post
Post.objects.all()
Вернуться на верх