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

Django教程第二部分字段错误求助:Python3.6+Django1.11环境

解决Django 1.11中Question模型字段过滤的错误问题

看起来你在跟着Django教程第二部分操作时踩了个常见的小坑,我来帮你一步步排查问题:

1. 先核对Question模型的字段定义

首先打开你的models.py,确认Question类里的question_text字段是不是正确定义了——它应该是CharField或者TextField类型,比如:

from django.db import models

class Question(models.Model):
    question_text = models.CharField(max_length=200)  # 重点检查这个字段
    pub_date = models.DateTimeField('date published')

    def __str__(self):
        return self.question_text

如果字段名写错了(比如写成question或者q_text),或者根本没定义这个字段,执行question_text__startswith查询时肯定会触发字段错误。

2. 确认数据库迁移已同步

就算模型定义没问题,要是没把模型变更同步到数据库,数据库里根本没有这个字段,自然会报错。请在终端里按顺序执行这两条命令:

python manage.py makemigrations
python manage.py migrate

执行完后重新打开python manage.py shell再试一次查询命令。

3. 检查shell中的模型导入路径

有时候在shell里导入错了模型也会出问题,确保你是从自己的应用里导入的Question模型:

from your_app_name.models import Question  # 把your_app_name换成你实际的应用名称,比如polls

如果导入的是其他地方的Question模型(比如第三方包的),那肯定找不到你定义的question_text字段。

4. 提供具体错误信息(如果以上都没用)

如果上面几步都排查完还是有问题,你可以把报错的完整内容贴出来吗?比如类似FieldError: Cannot resolve keyword 'question_text' into field. Choices are: pub_date, id这样的提示,里面会列出当前模型可用的所有字段,对比一下就能快速定位问题所在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:10:10