Récuperer la quantité du produit dans le form
Bonjour Christian,
Oui c'est possible en modifiant un peu la méthode init de ton formulaire.
Par exemple :
class OrderForm(forms.ModelForm):
quantity = forms.ChoiceField(choices=[(i, i) for i in range(1, 11)])
class Meta:
model = Order
fields = ['quantity']
def __init__(self, *args, **kwargs):
limited_quantity = kwargs.pop("quantity", 11)
super().__init__(*args, **kwargs)
choices = [(i, i) for i in range(1, limited_quantity)]
self.fields['quantity'] = forms.ChoiceField(choices=choices)])
Et quand tu crées ton formulaire :
order = Order.objects.get(pk=1)
form = OrderForm(request.POST, quantity=order.quantity)
Je n'ai pas testé le code en condition, je ne me souviens plus de tous les détails du projet, mais il me semble qu'à peu de choses prêt à devrait marcher et tu as les éléments de base, je te laisse essayer de ton côté et revenir vers moi si tu as un souci ou des erreurs spécifiques :)
Ah oui effectivement, je vais faire des essais mais je pense que la solution se situe ici :
https://docs.djangoproject.com/en/4.1/topics/forms/formsets/#using-initial-data-with-a-formset
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte