gpt4 book ai didi

python - 访问 MultipleChoiceField 选择值

转载 作者:行者123 更新时间:2023-11-28 20:54:40 24 4
gpt4 key购买 nike

如何从表单中获取选择字段值而不是键?

我有一个表单,让用户可以为公司选择一些用户的电子邮件。例如,我有一个这样的表单(模型表单的原因是它在一个表单集中——但现在这并不重要):

class Contacts(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(Contacts, self).__init__(*args, **kwargs)
self.company = kwargs['initial']['company']
self.fields['emails'].choices = self.company.emails
# This produces stuff like:
# [(1, 'email@email.com'), ...]

emails = forms.MultipleChoiceField(required=False)

class Meta:
model = Company

我想在 View 中获取所有选定电子邮件的列表,如下所示:

  form = ContactsForm(request.POST)
if form.is_valid():
form.cleaned_data['emails'][0] # produces 1 and not email

没有 get_emails_display() 类方法,例如在模型中。此外,建议 form.fields['emails'].choices 不起作用,因为它提供了所有选择,而我需要类似 form.fields['emails'].selected_choices ?

任何想法,或者让我知道是否不清楚。

最佳答案

好的,希望这更接近您想要的。

emails = filter(lambda t: t[0] in form.cleaned_data['emails'], form.fields['emails'].choices)

这应该会为您提供所需的选定选项列表。

关于python - 访问 MultipleChoiceField 选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/794178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com