2012-07-20 69 views
6

我很新的这一点,道歉,如果我是不清楚....“新添加”到外键字段在Django的ModelForm

运行Django,以引导,和我一直在摆弄的Django -bootstrap。 BootstrapModelForm非常酷,我没有在我的例子中包含django-bootstrap的东西,但我虽然我应该注意。

我有型号:

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

class Eggs(models.Model): 
    spam = models.ForiegnKey('spam') 

我使用的ModelForm,是这样的:

class EggsForm(forms.ModelForm): 
    meta: 
     model=Eggs 

EggsForm允许选择的垃圾邮件将被鸡蛋被引用。 我注意到管理界面有一个很酷的方式来选择或添加另一个鸡蛋。

我如何才能在我的创建表单中获得类似的功能?

回答

1

为什么不使用标准格式(不是ModelForm)呢?添加“添加新”作为额外的选项,并在窗体的clean()方法中捕获它,然后创建新对象,重定向到另一个窗体等。

0

在您的模板中,您可以添加一个新的(或“ +“)按钮,它可以重定向或显示弹出窗口或类似的东西显示另一种形式来添加新的Egg

+0

我认为问题在于你如何轻松地将新生成的垃圾邮件加入你的EggsForm中...... – 2012-08-13 11:23:16

相关问题