在Django中动态创建伪模型时排除字段以初始化表单

0 投票
1 回答
684 浏览
提问于 2025-04-17 02:02

我最近在研究动态模型,并尝试自己创建一个。我是从零开始创建这个模型,没有使用任何辅助函数。文档中提到有一个叫create_model的辅助函数,但我在Django 1.3中找不到它。你知道这是为什么吗?因为缺少这个辅助函数,我是这样创建一个伪模型的:

Person = type('Person', (models.Model,), {
    'first_name': models.CharField(max_length=255),
    'last_name': models.CharField(max_length=255),
    '__module__' : 'modules.testmodule'
})

这段代码初始化了一个伪模型对象,我想把这个伪模型对象传给我的一个表单,以便初始化它。

我该如何在初始化模型时设置模型字段的值,这样表单就可以从模型实例中初始化自己的字段呢?

谢谢。

1 个回答

0

这样做就可以了:

 setattr(Person, 'first_name', 'John')

撰写回答