Я хочу передать идентификатор продукта в мой класс форм, чтобы создать форму с этим элементом в моей базе данных.
Моя форма:
class Order_form(forms.Form):
def __init__(self, product_id,*args,**kwargs):
self.add_option = forms.ModelMultipleChoiceField(widget = forms.CheckboxSelectMultiple, required = False, queryset=product.objects.get(id = product_id).add_option.all())
super(Order_form,self).__init__(*args,**kwargs)
Форма выше ничего не создает, но эта форма создает именно то, что мне нужно. Тем не менее, мне нужно передать product_id
динамически, и не нужно жестко кодировать 1
как идентификатор:
class Order_form2(forms.Form):
add_option = forms.ModelMultipleChoiceField(widget = forms.CheckboxSelectMultiple, required = False, queryset=product.objects.get(id = 1).add_option.all())
PS: все работает благодаря ответу и комментариям ниже, теперь моя форма выглядит так
class Order_form(forms.Form):
add_option = forms.ModelMultipleChoiceField(widget = forms.CheckboxSelectMultiple, required = False, queryset=None)
def __init__(self, product_id,*args,**kwargs):
super(Order_form, self).__init__(*args, **kwargs)
self.fields['add_option'].queryset=product.objects.get(id = product_id).add_option.all()