【发布时间】:2015-03-14 03:22:15
【问题描述】:
我需要显示一个表单,其中包含来自 2 个不同模型的多个字段。 表单将仅包含模型中的部分字段,并且将使用清晰的表单进行布局。
我的模型:
class Company(BaseModel):
title = models.CharField(_('Company'), max_length=128)
domain = models.CharField(_('Domain'), max_length=128)
class Account(BaseModel):
company = models.ForeignKey(Company)
user = models.OneToOneField(User)
role = models.CharField(_('Role'), choices=ROLES, default='member', max_length=32)
我想在表单中显示的字段: 公司名称、用户名、用户姓氏、用户电子邮件
有可能吗?我该怎么做?
【问题讨论】:
-
您可以在视图中传递这两种形式
-
手动制作表格。
class MyCustomForm(forms.Form)。您可以在其中包含任何您想要的字段,不限于数据模型。 -
@Kakar 离这里最近。此页面上的其他答案涉及放弃使用 ModelForms 的好处。虽然这有时是最好的方法 - 创建两个模型表单(呈现为单个 HTML 表单)可能更“Djangonic” - 我会尽快尝试写出正确的答案。
标签: django forms django-models django-forms django-crispy-forms