我的django项目中有一个表单,其中ModelMultipleChoiceField呈现为CheckboxSelectMultiple小部件:
class EventCreateForm(forms.Form):
...
event_types = forms.ModelMultipleChoiceField(EventType.objects.all(), widget=forms.CheckboxSelectMultiple())
...
我正在使用django uni-form将此表单呈现给页面:
@property
def helper(self):
helper = FormHelper()
submit = Submit('submit', 'Submit')
helper.add_input(submit)
helper.form_action = ''
helper.form_method = 'POST'
return helper
但是,当django uni-form尝试渲染字段时,我收到以下错误:
渲染时捕获TypeError:'ManyRelatedManager'对象不是 可迭代
我知道这个错误的常见问题是forgetting to call .all() on the manager,但这是由django uni-form调用的。这是django uni-form的问题还是我做错了什么?
答案 0 :(得分:0)
我解决了我的问题。问题是当我预先填充数据时,我传递了event.event_types(一个管理器实例)而不是event.event_types.all()。