form_kwargs我__init__在forms.py中定义并且可以直接访问它们。我希望做organizer = kwargs.pop('organizer')等。谁能解释我为什么我可以直接访问这些 kwargs,即使它们应该存储在里面form_kwargs?我目前正在尝试将此行为复制到我的,class BaseReserveFormSet(BaseFormSet):但在那里我无法访问它们kwargs.pop@cached_property def formset(self): ReserveFormSet = formset_factory( ReserveForm, formset=BaseReserveFormSet, extra=0 ) return ReserveFormSet( data=( self.request.POST if self.request.method == 'POST' else None ), initial=self.tickets, form_kwargs={ 'organizer': self.request.organizer, 'event': self.request.event, 'user_order_reference': self.request.session.get('order_reference'), 'discount_code_session': self.discount_code, } )表格.pyclass BaseReserveFormSet(BaseFormSet): def __init__(self, *args, **kwargs): self.discount_code_session = kwargs['form_kwargs']['discount_code_session'] self.event = kwargs['form_kwargs']['event'] # print(kwargs.pop('discount_code_session')) # Why does this not work? super().__init__(*args, **kwargs) class ReserveForm(forms.ModelForm): class Meta: model = ReservedItem fields = ['ticket', 'quantity'] def __init__(self, organizer, event, user_order_reference, discount_code_session, *args, **kwargs): self.organizer = organizer self.event = event [...]
添加回答
举报
0/150
提交
取消