Django ModelForm 向导 - 如何创建数据库对象?

Posted

技术标签:

【中文标题】Django ModelForm 向导 - 如何创建数据库对象?【英文标题】:Django ModelForm Wizard - How to create the database object? 【发布时间】:2010-12-21 12:34:27 【问题描述】:

我有一个足够大的模型,可以切成 3 种形式。 我想使用 FormWizzard 来做到这一点,我想知道,如何将表单中的信息保存到数据库中?

一切都来自同一个模型。

你知道怎么做吗?

【问题讨论】:

【参考方案1】:

没有明确/直接的方法可以做到这一点。

但是,您可以随意修改来实现所需的功能;

我可以考虑这样做:

创建 n(您想要的向导页数)相同模型的模型表单,但在元类上使用不同的 fieldsextra。 将第一个 (n-1) 个模型表单的保存覆盖为 pass 覆盖上一个表单的保存以使用来自所有 n 向导表单的数据创建一个新模型,并调用 super。

但是,正如我所说,这确实是一个“黑客”,使用不同的视图、表单和会话可能更清晰pythonic

【讨论】:

以上是关于Django ModelForm 向导 - 如何创建数据库对象?的主要内容,如果未能解决你的问题,请参考以下文章

Django之ModelForm详解

如何在 Django 的 ModelForm 中使用请求

Django如何从ModelForm获取记录ID

如何过滤 Django ModelForm 中的 ManyToManyField 选项?

Django如何将外键传递给ModelForm字段

如何通过 ModelForm 使用 FileField 添加新的 Django 模型实例?