运行Django makemigrations命令报错AttributeError: 'Model'无'_meta'属性
Django makemigrations报错AttributeError: 'Model' object has no attribute '_meta' 解决方案
报错根因
问题出在你polls/models.py的模型字段定义错误:
错误代码(对应报错栈的第9行):
question_text = models.Model(max_length=200)
Django模型定义中,模型类本身继承models.Model是正确的,但类属性需要定义为具体的模型字段类型(比如CharField、DateTimeField等),你错误地将models.Model实例化作为字段使用,触发了属性缺失报错。
解决步骤
- 打开polls应用下的
models.py文件,定位到Question类的错误行 - 将错误的字段定义修改为对应类型的字段,比如存储短文本的问题内容使用
CharField:# 修正后代码 question_text = models.CharField(max_length=200) - 检查其他模型字段是否存在类似的类型写错、拼写错误问题,比如发布时间字段正确写法参考:
pub_date = models.DateTimeField('发布时间') - 保存文件后重新执行
python manage.py makemigrations polls即可正常生成迁移文件。
内容的提问来源于stack exchange,提问作者Virat
相关产品推荐
相关产品推荐

