所以我有一个带有 ManyToManyField 的模型,称为锦标赛。我有一个带有两个锦标赛字段的 ModelForm:
pay_tourns = forms.ModelMultipleChoiceField(
queryset=Tourn.objects.all().active().pay_tourns(),
widget=forms.CheckboxSelectMultiple())
rep_tourns = forms.ModelMultipleChoiceField(
queryset=Tourn.objects.all().active().rep_tourns(),
widget=forms.CheckboxSelectMultiple())
all() 之后的方法来自子类 QuerySet。当我在视图中保存表单时,我会这样做:
post.tournaments = (post_form.cleaned_data.get('pay_tourns')
+ post_form.cleaned_data.get('rep_tourns'))
无论如何,这一切都很好。我不知道如何在加载现有帖子时填写这些表单字段。也就是说,当我将 instance=post 传递给表单时。有任何想法吗?