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