我会用functools.partial
和functools.wraps
:
from functools import partial, wraps
from django.forms.formsets import formset_factory
ServiceFormSet = formset_factory(wraps(ServiceForm)(partial(ServiceForm, affiliate=request.affiliate)), extra=3)
我认为这是最干净的方法,并且不会以任何方式影响ServiceForm
(即,使子类难以继承)。