यह Django 1.9 में form_kwargs के साथ तय किया गया था ।
मेरे पास एक Django फॉर्म है जो इस तरह दिखता है:
class ServiceForm(forms.Form):
option = forms.ModelChoiceField(queryset=ServiceOption.objects.none())
rate = forms.DecimalField(widget=custom_widgets.SmallField())
units = forms.IntegerField(min_value=1, widget=custom_widgets.SmallField())
def __init__(self, *args, **kwargs):
affiliate = kwargs.pop('affiliate')
super(ServiceForm, self).__init__(*args, **kwargs)
self.fields["option"].queryset = ServiceOption.objects.filter(affiliate=affiliate)
मैं इस फॉर्म को कुछ इस तरह से कहता हूं:
form = ServiceForm(affiliate=request.affiliate)
request.affiliate
उपयोगकर्ता में लॉग इन कहाँ है। यह इच्छानुसार काम करता है।
मेरी समस्या यह है कि मैं अब इस एकल रूप को एक फॉर्मेट में बदलना चाहता हूं। मैं यह पता नहीं लगा सकता कि फॉर्मेट बनाते समय मैं व्यक्तिगत फॉर्मों से संबद्ध जानकारी कैसे पारित कर सकता हूं। डॉक्स के अनुसार इससे एक फॉर्मेट बनाने के लिए मुझे ऐसा कुछ करने की आवश्यकता है:
ServiceFormSet = forms.formsets.formset_factory(ServiceForm, extra=3)
और फिर मुझे इसे इस तरह बनाने की आवश्यकता है:
formset = ServiceFormSet()
अब मैं सहबद्ध कैसे कर सकता हूं = request.affiliate इस प्रकार व्यक्तिगत रूपों में?