【问题标题】:Using two models in one form in django 1.5在 django 1.5 中以一种形式使用两个模型
【发布时间】:2014-10-29 18:09:28
【问题描述】:

如何使用 Django 1.5 中的 CreateView 以一种形式使用具有 OneToOne 关系的两个模型?

我的模型是这些:

class Act(models.Model):
    name = models.CharField()

class DetailAct(models.Model):
    detail = models.CharField()
    act = models.OneToOneField(Act)

我的表格

class ActForm(forms.ModelForm):
    name = forms.CharField(widget=forms.TextInput())

    class Meta:
        model = models.Act

class DetailActForm(forms.ModelForm):
    detail = forms.CharField(widget=forms.TextInput())

    class Meta:
        model = models.DetailAct

谢谢

【问题讨论】:

  • 但是我可以使用 CreateView 吗?我看到了这些例子,但它们不是我想要的

标签: python django python-2.7


【解决方案1】:

您可以在一个<form> 标记中使用两个Form 对象而不会出现问题。只需确保将prefix="form-1" 传递给视图中的一种形式(或两者——只要前缀不同)即可。示例见this answer

不,您不能为此使用基于类的内置视图。或者,至少,不是你所期望的高水平。您可以创建自己的视图类或 mixin 以使用两种形式,但 AFAIK Django 不提供。

【讨论】:

  • 谢谢,我也在使用 Symfony2 框架,我认为当你在表单中使用外键时,django 可以实现与 symfony 相同的效果。
猜你喜欢
  • 1970-01-01
  • 2011-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-13
  • 1970-01-01
  • 2021-12-26
  • 2016-07-14
相关资源
最近更新 更多