这有什么原因吗? /任何使它工作的方法? (没有定义另一个选择集)
class Foo(models.Model):
BAR_CHOICES = ((str(x), str(x)) for x in range(5))
bar = models.CharField(max_length = 1, choices = BAR_CHOICES)
barbar = models.CharField(max_length = 1, choices = BAR_CHOICES)
class FooForm(forms.ModelForm):
class Meta:
model = Foo
class FooAdmin(admin.ModelAdmin):
pass
admin.site.register(Foo, FooAdmin)
然后,如果您转到admin
页面或制作ModelForm
,则只会显示第一个字段的选项
像这样:
>> foo_form = FooForm()
>> print foo_form
<tr><th><label for="id_bar">Bar:</label></th><td><select name="bar" id="id_bar">
<option value="" selected="selected">---------</option>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select></td></tr>
<tr><th><label for="id_barbar">Barbar:</label></th><td><select name="barbar" id="id_barbar">
<option value="" selected="selected">---------</option>
</select></td></tr>
编辑
以显示FooForm,FooAdmin和Admin img
答案 0 :(得分:2)
您已通过genex定义Foo.BAR_CHOICES
。请改用LC,以便可以多次迭代。