Djangoはクエリセットからform.ChoiceFieldフィールドにデータを入力し、選択内容をモデルオブジェクトに関連付けます

43Tesseracts

私は簡単な形をしています:

class SubmissionQuickReplyForm(forms.Form):
    comment_text = forms.CharField(label='', required=False, widget=forms.Textarea(attrs={'rows':2}))

form.ChoiceFieldをフォームに追加したいのですが、ChoiceFieldのオプションはクエリセットから入力されます。

class SubmissionQuickReplyForm(forms.Form):
        comment_text = forms.CharField(label='', required=False, widget=forms.Textarea(attrs={'rows':2}))
        choice = forms.ChoiceField(...)

たとえば、私が持っている場合:

q = MyChoices.Objects.all()

ビューでフォームの結果を処理しているときにオブジェクトを最後に戻すことができるように、ChoiceFieldにqの内容を入力するにはどうすればよいですか?

    if request.method == "POST":
        form = SubmissionQuickReplyForm(request.POST)
        if form.is_valid():
            ch = get_object_or_404(MyChoices, pk=?)
            # How do I get my object from the choice form field?
アディヤットムバラク

代わりにModelChoiceFieldを使用できます

choice = forms.ModelChoiceField(queryset=MyChoices.objects.all())

そして、あなたは単にcleaned_dataこのように電話することによって得ることができます

if request.method == "POST":
    form = SubmissionQuickReplyForm(request.POST)
    if form.is_valid():
        ch = form.cleaned_data.get('choice')

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ