0
我有一个布尔领域的典范和外键组合两个领域的ModelForm在Django
class ModelA(models.Model):
is_anonymous = BooleanField(default=False)
page = ForeignKey(ModelB, null=True)
我想这两个领域在选择字段组合。
它应该有一个选项<option value="anonymous">Anonymous</option>
和ModelB
中的每个对象的选项。
因此,如果一个页面在<select>
选定字段is_anonymous
应该是假的,如果选择了匿名领域page
应该是空,is_anonymous
应该是真实的。
我想我必须将查询集ModelB.objects.all()
添加到选择列表中
self.fields['field_name'].widget = forms.Select(choices=[(False, "Not anonymous"), (True, "Anonymous"),])
但它将结果保存到外地field_name
这是错误的。
这是一个很好的解决方案。问题是我需要另一种选择。选项将是'[“匿名”,“我的用户名”,(模型b对象)'。只有选择匿名,匿名字段才应该是真实的。它可以通过'ModelChoiceField'完成吗? – Jamgreen 2014-11-04 18:18:33