django的一个ModelForm中是否可能包含多个型号?我正在try 创建一个个人资料编辑表单.所以我需要包括一些来自用户模型and和用户配置文件模型的字段.目前我正在使用两种类似的表单

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")

有没有办法把这些整合到一个表单中,或者我只需要创建一个表单,处理数据库加载并保存自己?

推荐答案

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

在这种情况下,您应该不需要它,但是如果您要使用具有相同字段名的表单,请查看Django表单的prefix kwarg.(我回答了一个关于它的问题here).

Django相关问答推荐

如何使用Django';S生成的字段来统计相关对象?

如何从列中捕获数据并将其添加到下拉菜单中,以便表单填充另一个表

django.template.response.ContentNotRenderedError: 必须渲染响应内容才能迭代

Django:获取每组最新的N条记录

使用django提交后如何保留html表单数据?

Django 模板文件夹

何时在 django 中使用 pre_save、save、post_save?

如何运行克隆的 Django 元素?

可以在基于 Django 类的视图中设置实例变量吗?

在 Django 管理屏幕中删除添加另一个

Django中视图的多个decorator :执行顺序

在 Django 中使用 AuthenticationForm

使用直通模型了解 Django 中的多对多字段

django 模板列表变量中的最后一个元素

Django 模型:delete() 未触发

如何在该元素中的所有应用程序之间共享元素范围的模板标签

Django Rest Framework 序列化程序中的循环依赖

显式 cursor.close() 的必要性

Django:AppRegistryNotReady()

BASE DIR 的绝对路径是什么?