que je suis dans le long DAL documentation d'ajouter un champ filtré à ma forme, mais la transmission ne fonctionne pas pour se connecter un champ à l'autre:Django Autocomplete Light - FK terrain Résultats ne retransmet pas
Forms .py
class PurchaseForm(forms.ModelForm):
commodity = forms.ModelChoiceField(
queryset=Commodity.objects.all(),
widget=autocomplete.ModelSelect2(url='commodity-autocomplete'),
required=False,
)
class Meta:
model = Purchase
fields = ["variety"]
widgets = {
'variety': autocomplete.ModelSelect2(url='variety-autocomplete', forward=['commodity'],
}
Views.py
class VarietyAutocompleteView(autocomplete.Select2QuerySetView):
def get_queryset(self):
qs = Variety.objects.all()
commodity = self.forwarded.get('commodity', None)
print("Commodity:" + str(commodity))
if commodity:
qs = qs.filter(commodity=commodity)
if self.q:
qs = qs.filter(name__istartswith=self.q)
return qs
J'avais l Mes choix de variété doivent être filtrés par leur relation de clé étrangère avec les objets de base. Les deux champs de saisie semi-automatique fonctionnent correctement, mais le choix du champ commodity
n'est pas transmis au VarietyAutocompleteView
(ma commande d'impression imprime Commodity:None
). Est-ce peut-être parce que je passe un objet clé étrangère? Ou ai-je mis en place de manière incorrecte d'une manière ou d'une autre?
Je suis confronté à un problème similaire .. Comment avez-vous enfin résolu cela? –
Je suis passé de DAL à bootstrap-combobox. Je posterai mon code résultant dans une réponse. –
Ahh .. merci beaucoup! .. –