python在运行时创建一个包含另一个类的类

时间:2011-04-18 17:32:23

标签: python google-app-engine types

我想在运行时生成一个类,如下所示:

from google.appengine.ext.db import djangoforms

class TestForm(ConsumerForm):
  class Meta:
    model = Consumer

我可以用

form_model = type("TestForm", (djangoforms.ModelForm,), {})

创建TestForm类但我不确定如何在其中创建Meta类?

1 个答案:

答案 0 :(得分:6)

以与TestForm相同的方式创建它并将其放入TesForm的字典中:

Meta = type("Meta", (), {"model": Consumer})
TestForm = type("TestForm", (djangoforms.ModelForm,), {"Meta": Meta})

(免责声明:我通常会避免动态创建类。)