Django模型choices字段触发fields.E005错误,请求解决方法
问题分析与解决
首先注意到错误信息指向的是asosiy.Universitet.yillik字段,而非你贴出的Nomzod模型代码——当前Nomzod里的jins字段的choices定义是符合Django要求的,无需修改。
Django抛出的fields.E005错误,核心是yillik字段的choices不符合规范,需按以下方式排查修复:
- 检查
Universitet模型中yillik字段的choices定义:- 必须是列表或元组类型,每个元素都是**(实际存储值, 人类可读名称)**的二元元组,示例:
YILLIK_CHOICES = [ ("1", "1-yil"), ("2", "2-yil"), # 补充其他年份选项 ] yillik = models.CharField(max_length=10, choices=YILLIK_CHOICES) - 若
yillik是IntegerField,则元组第一个元素需为整数类型,比如(1, "1-yil")而非字符串
- 必须是列表或元组类型,每个元素都是**(实际存储值, 人类可读名称)**的二元元组,示例:
- 排查拼写错误:确认字段参数是
choices而非choice,或是否引用了非可迭代的变量作为choices值
内容的提问来源于stack exchange,提问作者Qodirbek Shokirbekov
相关产品推荐
相关产品推荐

