Django启动本地服务器报错:无法解析'pub-date'关键字如何解决?
修复Django字段查询报错:Cannot resolve keyword 'pub-date' into field
这个错误的核心原因很明确:你在代码中使用了字段名pub-date(连字符),但你的模型里实际定义的字段是pub_date(下划线),Django无法匹配到对应的字段,所以抛出这个错误。
修复步骤如下:
- 查找所有使用
pub-date的代码位置,替换为pub_date:- 检查views.py中的QuerySet查询语句,比如把
Question.objects.filter(pub-date__lte=...)改成Question.objects.filter(pub_date__lte=...) - 检查模板文件(*.html)里的字段引用,比如
{% if question.pub-date %}要改成{% if question.pub_date %} - 检查admin.py中的配置,比如
list_display = ('question_text', 'pub-date')替换为list_display = ('question_text', 'pub_date')
- 检查views.py中的QuerySet查询语句,比如把
- 确认模型定义的正确性:打开你的模型文件(通常是models.py),确保Question模型的发布日期字段确实是
pub_date,比如:class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') - (可选)清理缓存并重启服务器:如果修改后报错依旧,执行
python manage.py clearcache清除Django缓存,再重新启动服务器。
内容的提问来源于stack exchange,提问作者ErrorgodxD
相关产品推荐
相关产品推荐

