0
是否有更高效或更简洁的方式来执行以下操作?Django - 通过request.user.somechoice_set.all()填充MultipleChoiceField()
class SpamForm(ModelForm):
some_choices = fields.MultipleChoiceField()
def __init__(self, *args, **kwargs):
super(SpamForm, self).__init__(*args, **kwargs)
self.fields['some_choices'].choices = [[choice.pk, choice.description] for choice in self.instance.user.somechoice_set.all()]
class Meta:
model = Spam
这是为了填充,涉及到当前request.user
(这是则传递到表单中的实例设置)选择新的形式。有没有更好的办法?
问题是'ModelChoiceField'没有使用'multiple = multiple' select元素,对吧? – orokusaki 2010-09-29 03:48:37
我的不好,我误解了这个问题。答案已更新。 – 2010-09-29 06:57:40