Je ne sais pas si je le fais de la bonne manière.Django Forms: Comment itérer sur un choix d'un champ dans le formulaire Django
J'ai une forme:
class ConnectSelectMultipleForm(forms.Form):
class Meta:
model = Connect
def __init__(self, *args, **kwargs):
messages = kwargs.pop('messages')
choices = []
if messages:
pass
else:
messages = []
for message in messages:
index = (message.id, {message.sender, message, message.id})
choices.append(index)
super(ConnectSelectMultipleForm, self).__init__(*args, **kwargs)
self.fields['message'] = forms.MultipleChoiceField(choices=choices,
widget=forms.CheckboxSelectMultiple)
Comme on le voit ci-dessus, je vous envoie {message.sender, message ,message.id}
au modèle. Maintenant, je veux accéder à ces variables dans le modèle.
{% for field in select_form %}
{% for fi in field %}
{{ fi.message }}
{{ fi.message.sender }}
{{ fi.message.id }}
{% endfor %}
{% endfor %}
Le code ci-dessus est faux. Mais pouvons-nous faire quelque chose de similaire à cela? Ou existe-t-il une méthode alternative pour faire ce que j'essaie de faire?
Merci d'avance.
### ModifierLe ouput je reçois par l'impression que le champ est la suivante
set([5, u'Everycrave', <Connect: The deal you refered has been bought>])
Ce que je veux est
Id: 5, Nom: Everycrave, Contenu: L'accord vous Référé a été acheté
Je veux que ces champs individuellement
Vous n'avez pas expliqué ce que vous voulez vraiment réaliser. Quelle est la sortie censée être, et pourquoi ne pouvez-vous pas simplement sortir le champ lui-même? –
La sortie que je reçois actuellement est définie ([5, u'Everycrave ',]). La sortie que je voudrais est 5, Everycrave, L'affaire que vous avez référé a été acheté –
Akamad007
Mais je ne comprends pas ce que cela a à voir avec le domaine. Un champ est pour entrer/choisir des données. Qu'essayez-vous d'entrer ou de choisir ici? –