0
Y a-t-il une manière plus efficace ou plus propre de faire ce qui suit?Django - remplit un objet MultipleChoiceField via request.user.somechoice_set.all()
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
C'est de remplir le nouveau formulaire avec des choix qui se rapportent à la request.user
actuelle (qui est fixé sur l'instance qui est passé dans la forme). Y a-t-il un meilleur moyen?
le problème est que 'ModelChoiceField' n'utilise pas un élément de sélection' multiple = multiple', n'est-ce pas? – orokusaki
Mon mauvais, j'ai mal lu la question légèrement. Réponse mise à jour –