2014-03-01 72 views
1

我有一个带有父实体和子实体的内联窗体集工厂。内联窗体集 - 如何为子窗体设置默认值

我需要设置子窗体取决于父项属性的初始值。

我认为在我的BaseFormset表格中这样做init将是最好的方法。

因此,这里是我做的:

class MyBaseFormset(BaseInlineFormSet): 

def __init__(self, *args, **kwargs): 
    #Crispy 
    ... 
    super(MyBaseFormset, self).__init__(*args, **kwargs) 

    form = self.forms[0] 
    temp = Child() 
    temp.x = "a" 
    temp.y = "z" 
    form.instance = temp 

我第一次执行这个似乎工作 - 但现在我总是为我的孩子一个空/默认形式。

任何想法我可能做错了什么?我没有得到任何错误...

谢谢!

回答

1

有时你看不到,因为所有的树木的木材...

只需使用inital值,而不是一个对象:

form.fields['x'].initial = self.instance.x 
相关问题