Django从查询集中填充form.ChoiceField字段,并将选择关联回模型对象

Django从查询集中填充form.ChoiceField字段,并将选择关联回模型对象,第1张

概述我有一个简单的形式: 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}))

我想在表单中添加一个form.ChoiceField,其中ChoiceFIEld中的选项是从查询集中填充的.

class SubmissionQuickReplyForm(forms.Form):        comment_text = forms.CharFIEld(label='',Widget=forms.Textarea(attrs={'rows':2}))        choice = forms.ChoiceFIEld(...)

例如,如果我有:

q = MyChoices.Objects.all()

如何用q的内容填充ChoiceFIEld,这样当我在视图中处理表单的结果时,我可以在最后将对象取回?

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())

你可以通过这样简单地调用cleaning_data来获得.

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

以上是内存溢出为你收集整理的Django从查询集中填充form.ChoiceField字段,并将选择关联回模型对象全部内容,希望文章能够帮你解决Django从查询集中填充form.ChoiceField字段,并将选择关联回模型对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1195238.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存