Python 创建具有django'的类;使用type()方法创建内部元类
我正在处理函数(在Django 1.4、python 2.7.2+)中,该函数为指定模型生成表单并返回表单。 使用带有3个参数的type()方法时遇到问题,因为我想指定表单的内部元类。Django文档给出了模型自动生成表单的示例:Python 创建具有django'的类;使用type()方法创建内部元类,python,django,Python,Django,我正在处理函数(在Django 1.4、python 2.7.2+)中,该函数为指定模型生成表单并返回表单。 使用带有3个参数的type()方法时遇到问题,因为我想指定表单的内部元类。Django文档给出了模型自动生成表单的示例: class PartialAuthorForm m(ModelForm): class Meta: model = Author 现在我想推广它,自动生成表单。所以我想在返回的表单中指定Meta,并在其中指定属性“mo
class PartialAuthorForm
m(ModelForm):
class Meta:
model = Author
现在我想推广它,自动生成表单。所以我想在返回的表单中指定Meta,并在其中指定属性“model=model\u cls”
我不知道应该用什么替换“?”。是吗?我通过这样做解决了这个问题:
Meta = type('Meta', (), {
'model': ExampleModel,
})
ExampleForm = type('ExampleForm', (), {
'Meta': Meta,
})
检查Django
modelform\u工厂的工作原理:
Meta
是类属性
Meta = type('Meta', (), {
'model': ExampleModel,
})
ExampleForm = type('ExampleForm', (), {
'Meta': Meta,
})