2014-09-04 81 views
1

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

我的模型是这些:

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 

谢谢

+0

但我可以使用CreateView吗?我看到了这些例子,但它们并不是我想要的 – 2014-09-04 21:24:50

回答

1

您可以使用一个<form>标记中的两个Form对象没有问题。只要确保在视图中将prefix="form-1"传递给其中一种形式(或前后两种 - 只要前缀不同)即可。以this answer为例。

不,你不能使用内置的基于类的视图。或者,至少,不是你期望的高级别。你可以制作你自己的视图类或者mixin,它们可以使用两种形式,但是AFAIK Django没有提供。

+0

谢谢,我正在使用Symfony2框架,我认为当您使用外键处理表单时,django可以实现与symfony相同的功能。 – 2014-09-04 22:00:35