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)
这就是你想要的吗?
关于python - 动态更新ModelForm的Meta类模型字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239096/