Django models Django Advantage forms.Form vs forms.ModelForm

Django models Django Advantage forms.Form vs forms.ModelForm,django-models,django-forms,Django Models,Django Forms,有一个问题与此非常相似,但我想用另一种方式提问 我是一个非常有个性的人,但我有时确实喜欢走捷径。就这样 我确实发现这两个类非常相似,尽管其中一个“帮助”程序员更快地编写代码,或者代码/重复代码更少。将模型连接到表单听起来是一件显而易见的事情。有一件事在使用ModelForm的文档中不是特别清楚。如果需要添加不在模型中或以某种方式连接到另一个模型的额外字段,会发生什么情况 我想您可以将其子类化并使其工作,但这真的比仅使用表单手动操作更能帮助您节省时间吗 所以下一个问题可能并没有一个明确的答案,若我

有一个问题与此非常相似,但我想用另一种方式提问

我是一个非常有个性的人,但我有时确实喜欢走捷径。就这样

我确实发现这两个类非常相似,尽管其中一个“帮助”程序员更快地编写代码,或者代码/重复代码更少。将模型连接到表单听起来是一件显而易见的事情。有一件事在使用ModelForm的文档中不是特别清楚。如果需要添加不在模型中或以某种方式连接到另一个模型的额外字段,会发生什么情况

我想您可以将其子类化并使其工作,但这真的比仅使用表单手动操作更能帮助您节省时间吗


所以下一个问题可能并没有一个明确的答案,若我将其子类化,并使用ModelForm。ModelForm是否比Form更快?它是否仍然使用相同的更新技术,或者其中一种绑定速度明显更快?

如果您想要跨两种模型创建表单,您可以选择以下两种方式:

1) 创建两个modelforms,在发布时分别保存,如果其中一个依赖于另一个(即foreignkey),则在保存前在视图中设置

2) 尝试Django的内联表单集:

3) 将非模型字段添加到模型表单中。在ModelForm上,可以添加未绑定到模型的字段。与任何其他字段一样,它们可以在数据中使用,但在保存模型时会被忽略

ModelForm比Form的一个优点是可以指定字段的顺序(搜索如何对附带的表单字段进行排序)。明显的其他优势是您不必重写模型保存代码