0

私はそのようなフォームを動的に作成しています。

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 }}は機能しません。機能しない理由とその方法についての簡単な説明が必要です。

私は周りを見回しましたが、同様の質問を見つけることができませんでした (正しい方法で検索していないはずです)。リンクは大歓迎です。

4

1 に答える 1

0

繰り返したい場合は、フィールド queryset が必要だと思います。manage.py シェルを使用して、フォームとイントロスペクトをインスタンス化します。form.as_XXX を使用しないのはなぜですか?

于 2013-08-29T10:02:29.323 に答える