def SiteAdminForm(model_cls, *args, **kwargs):
class MerchantAdminForm(forms.ModelForm):
class Meta:
exclude = ('external_links', 'published', 'logo','image_zip_file',)
model = model_cls
def __init__(self, *args, **kwargs):
super(MerchantAdminForm, self).__init__(*args, **kwargs)
return MerchantAdminForm()
# In use...
merchant_form = SiteAdminForm(merchant.__class__, instance=merchant)
无论将什么传递到 model_cls,模型总是被忽略。
Meta.exclude设置正确,如何动态更新Meta.model?
请您参考如下方法:
def get_form(model_class):
class DynamoForm(forms.ModelForm):
class Meta:
model = model_class
return DynamoForm
form_set = get_form(ActualModel)(request.POST)
这是你想要的吗?
