Django管理选择字段错误
我试图在Admin中为我的用户设置性别,但得到了错误Django管理选择字段错误,django,admin,choicefield,Django,Admin,Choicefield,我试图在Admin中为我的用户设置性别,但得到了错误 值u“[u'm']”不是有效的选择。 管理员 class PlayerForm(forms.ModelForm): GENDER_CHOICES = ( ('m', 'Male'), ('f', 'Female'), ) ... gender = forms.MultipleChoiceField(label="Gender", choices=GENDER_CHOICES) ... clas
值u“[u'm']”不是有效的选择。
管理员
class PlayerForm(forms.ModelForm):
GENDER_CHOICES = (
('m', 'Male'),
('f', 'Female'),
)
...
gender = forms.MultipleChoiceField(label="Gender", choices=GENDER_CHOICES)
...
class Meta:
model = Player
class PlayerAdmin(admin.ModelAdmin):
form = PlayerForm
admin.site.register(Player, PlayerAdmin)
models.py(播放器模型)
有趣的事实:表单确实在admin中显示了来自dadabase的正确默认值
尝试提交表单时发布有效负载:
------WebKitFormBoundary009tVyo4cRJvIAnC
Content-Disposition: form-data; name="gender"
m
编辑:忘了提到DB是Postgres 8.4,所讨论的列是a
VARCHAR(1)
由于您正在使用:
它将把性别保存到一个“列表”中。导致:
>>> gender = ['m']
>>> gender = 'm'
您需要使用哪个选项来选择单个对象:
gender = forms.ChoiceField(label="Gender", choices=GENDER_CHOICES)
导致:
>>> gender = ['m']
>>> gender = 'm'
由于您正在使用:
它将把性别保存到一个“列表”中。导致:
>>> gender = ['m']
>>> gender = 'm'
您需要使用哪个选项来选择单个对象:
gender = forms.ChoiceField(label="Gender", choices=GENDER_CHOICES)
导致:
>>> gender = ['m']
>>> gender = 'm'
你能发布回溯吗?你能发布回溯吗?谢谢你解决了这个问题。一定是“意外”选择了Multipechoicefield,这不是我的本意。谢谢你,解决了这个问题。一定是“意外”选择了MultipleChiceField,这不是我的本意。