2013-08-29 34 views
0

我正在动态地创建一个这样的表单;迭代django表单的正确方法是什么?

def partial_order_item_form(item): 
    """dynamic form limiting optional_items to their items""" 
    class PartialOrderItemform(forms.Form): 
     quantity = forms.IntegerField(widget=forms.TextInput(attrs={'size':'2', 'class':'quantity','maxlength':'5'})) 
     option = forms.ModelChoiceField(queryset=OptionalItems.objects.filter(item=item),widget= forms.RadioSelect()) 

    return PartialOrderItemform 

与此,我可以渲染模板中的选项,就像这样,它完美的作品;

{% for item in form.option %} 
{{ item }} 
{%endfor%} 

但这{{ item.price }}不起作用。我需要一个简短的解释,说明为什么它不工作,以及如何去做。

我环顾四周,但未能找到类似的问题(我不能以正确的方式搜索),链接非常感谢。

回答

0

我想你需要字段查询集,如果你想迭代。使用manage.py shell来实例化表单和内省。为什么不使用form.as_XXX?

+0

我没有使用form.as_xxx,因为我希望能够像价格一样访问该选项的更多属性。 form.as_xxx只返回该项目。 –

+0

form.fields [“option”]。queryset – drew

相关问题