相关疑难解决方法(0)

Django:ModelMultipleChoiceField不选择初始选择

ModelMultipleChoiceField没有选择初始选项,我无法在我的示例中进行以下修复(链接如下):

http://code.djangoproject.com/ticket/5247#comment:6

我的模特和形式:

class Company(models.Model):
    company_name = models.CharField(max_length=200)

class Contact(models.Model):
    company = models.ForeignKey(Company)
    first_name = models.CharField(max_length=100)
    last_name = models.CharField(max_length=100)

class Action(models.Model):
    company = models.ForeignKey(Company, blank=True, null=True)
    from_company = models.ManyToManyField(Contact, verbose_name='Participant(s) from "Company"', blank=True, null=True)

class Action_Form(ModelForm):
    from_company = forms.ModelMultipleChoiceField(queryset=Contact.objects.none(), widget=forms.CheckboxSelectMultiple())
    class Meta:
        model = Action
Run Code Online (Sandbox Code Playgroud)

我做了什么和结果:

>>> contacts_from_company = Contact.objects.filter(company__exact=1) # "1" for test, otherwise a variable
>>> form = Action_Form(initial={'from_company': [o.pk for o in contacts_from_company]}) # as suggested in the fix
>>> print form['from_company']
<ul>
</ul>
>>> print contacts_from_company
[<Contact: test person>, <Contact: …

python django django-models django-forms

25
推荐指数
4
解决办法
2万
查看次数

标签 统计

django ×1

django-forms ×1

django-models ×1

python ×1