Django从查询集中填充form.ChoiceField字段,并将选择关联回模型
发布时间:2020-12-20 12:41:19 所属栏目:Python 来源:网络整理
导读:我有一个简单的形式: 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') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |