Django populate a form.ChoiceField field from a queryset and relate the choice back to the model object

风格不统一 提交于 2019-12-03 16:33:51

You can use ModelChoiceField instead.

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

And you can get by simply call cleaned_data like this.

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

For ChoiceField you can use

    choice = forms.ChoiceField(choices=[
    (choice.pk, choice) for choice in MyChoices.objects.all()])
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!