You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django项目注册Post模型至admin.py时出现NameError: 'Post'未定义

解决Django中Post模型注册时的NameError问题

我来帮你搞定这个报错!你遇到的NameError: name 'Post' is not defined,本质就是Django的admin模块找不到你定义的Post模型,大概率是导入环节出问题了,咱们一步步排查:

最常见的解决方法:补充模型导入

你在admin.py里注册模型的时候,肯定是直接写了admin.site.register(Post),但忘记先把Post模型导入进来了。解决方法很简单:
在admin.py文件的最顶部加上导入语句:

# 如果Post模型和admin.py在同一个app下
from .models import Post

# 如果是其他app的模型,替换成对应的app名称
from your_app_name.models import Post

其他可能的排查点

  • 检查模型文件:确保你的Post模型确实写在models.py文件里,别把文件名拼错成model.py了,Django默认只会识别models.py里的模型。
  • 检查类名拼写:确认模型类名是大写开头的Post,不是小写的post或者全大写的POST,Python是大小写敏感的,拼写错误会导致找不到类。

额外小提示(不影响当前报错,但影响模型功能)

看了你贴的Post模型代码,发现class meta:应该写成class Meta:(首字母M要大写),不然Django不会识别这个元配置,你的ordering和unique_together规则就不会生效哦,记得改过来~

内容的提问来源于stack exchange,提问作者Shoaib Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:43:06