1

したがって、トーナメントと呼ばれる ManyToManyField を持つモデルがあります。2 つのトーナメント フィールドを持つ 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 をフォームに渡すときです。何か案は?

4

2 に答える 2