一尘不染

单个Django ModelForm中有多个模型?

django

ModelFormDjango 是否可以在一个模型中包含多个模型?我正在尝试创建个人资料编辑表单。因此,我需要包括User模型和 UserProfile模型中的某些字段。目前我正在使用2种形式

class UserEditForm(ModelForm):

    class Meta:
        model = User
        fields = ("first_name", "last_name")

class UserProfileForm(ModelForm):

    class Meta:
        model = UserProfile
        fields = ("middle_name", "home_phone", "work_phone", "cell_phone")

有没有一种方法可以将这些合并为一个表单,或者我是否只需要创建一个表单并处理数据库加载并保存自己?


阅读 441

收藏
2020-03-26

共1个答案

一尘不染

你可以只在一个<form>html元素的模板中显示这两种形式。然后,只需在视图中单独处理表单即可。你仍然可以使用form.save()而不需要处理数据库加载和保存你自己。

在这种情况下,你不需要它,但是如果要使用具有相同字段名的表单,请查看prefixd jango表单的kwarg。(我在这里回答了一个问题)。

2020-03-26