因此,让我们在最后一分钟(视图)说,我决定我要指定一个默认的领域和隐藏它,就像这样:为django隐藏表单域指定默认值 - bone DRY?
form.fields['coconut'] = forms.ModelChoiceField(label="", widget=forms.HiddenInput(), queryset=swallow.coconuts.all(), initial=some_particular_coconut)
我的问题是:我真的需要在这里指定queryset?我的意思是,我已经知道,从最初,我正在谈论哪个椰子。为什么我还需要指定可用椰子的宇宙是这个特殊的燕子携带的一组椰子(由壳)?
有没有一种方法可以避免指定查询集?简单地省略导致Django引发TypeError。
如果确实需要,这是不是有点潮湿?
我深入了解这一点,我也认为这有点冒险。但这里的约定是什么?有些情况下会话可以满足要求,但我们假设这不是其中的一种。然后怎样呢?什么是一些主要的技术? – jMyles 2010-12-14 18:29:58
嗯,我是会话粉丝,但是如果你有一个忙碌的webapp,我明白你想怎样避免它们。这听起来像是你试图将一个对象从浏览器“反弹”到另一个视图中......你为什么试图做到这一点?我会说上面的技巧是做这件事的最好方法,但是可能有更多优雅的方法来做任何你想做的事情...... – Robert 2010-12-16 01:34:12