J'ai une question:
J'utilise sous forme django, et les champs comme MultipleChoiceField
dans view.py I données propres et obtenir GET URL comme cette
http://localhost:8000/?category=&style=&sex=&brand=ASICS&brand=Be+Positive&low_price=&high_price=
Donne-moi conseille, je peux regrouper le champ de marque et masquer vide.
Je veux obtenir quelque chose comme ceci:
http://localhost:8000/?brand=1+2GET URL à l'aide Décore formes
Et le reste une question:
Comment puis-je mettre en valeur vide (empty_label) pour
forms.py:
brand = forms.MultipleChoiceField(required=False,
widget=forms.SelectMultiple(attrs={'size':1})
)
def __init__(self,app_label=None, *args, **kwargs):
super(Search, self).__init__(*args, **kwargs)
self.fields['brand'].choices = [('', 'All brands')]+[(brand.name, brand) for brand in Brand.objects.all() ]
views.py:
if request.method == 'GET' and request.GET:
form = SearchForm(app_label, request.GET)
if form.is_valid():
brands = form.cleaned_data['brand']
kwargs.update({"brand__name__in": brands})
première partie: je n'aime pas comment regarde mon URL – JIoJIaJIu
deuxième: pour moi, il est important d'obtenir empty_label (ce n'est pas une étiquette en tant que label HTML) pour les formulaires.ModelMultipleChoiceFIeld – JIoJIaJIu