У меня есть Formview и я передаю ПК в ModelForm. В ModelForm я не могу использовать self.pk в наборе запросов, который я определяю для поля:
views.py
[...]
def get_form_kwargs(self):
# Pass extra kwargs to DetailProductForm
kwargs = super(DetailProduct, self).get_form_kwargs()
kwargs.update({'pk': self.kwargs['pk']})
return kwargs
forms.py
class DetailProductForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
# get the pk from the FormView at set it as self.pk
self.pk = kwargs.pop('pk', None)
super(DetailProductForm, self).__init__(*args, **kwargs)
# use self.pk in my queryset (there are more fields who use self.pk, this is just one as an example)
field = forms.ModelChoiceField(queryset=Configuration.objects.filter(product__pk=self.pk), widget=forms.RadioSelect)
class Meta:
model = Configuration
fields = ['field']
NameError: имя 'self' не определено
Как я могу использовать self .pk для полей?