1

私はdjangoを初めて使用します。クラスベースのビューを作成しようとしています。ここで、使用する(またはフォームを使用しない)モデルまたはフォームを選択できます。たとえば、次のようになります。

views.py:

class Foo(object):
    #some code here

    def get_query(self):
        if self.form.is_valid():
            return self.form.cleaned_data['field_name']

        return ''

私は2つのフォームを取得したとしましょう:

form.py:

class Bar(forms.Form):
    title = forms.CharField(max_length = 200)
    content = forms.CharField(max_length = 200)

forms.py:

    class Baz(Bar):
        date = DateField()

上記のビューから、フィールド名から値を取得するget_queryメソッドを取得しましたが、問題はすべてのフォームが同じではなく、Barが2つのフィールドを取得し、Bazが3つのフィールドを取得しました。おそらく、100フィールド(多分)が必要です。ループを使用するので、フィールドからすべての値を取得する方法はありますか?出来ますか?

4

1 に答える 1

1

あなたが探しているのは、dict(?) であると思われる self.fields であり、すべてのフォーム フィールドと名前などが含まれています。未知の大きなフォームのフィールドを動的に抽出する方法の詳細については、 BaseForm._clean_fields のコードを見て、それらにアクセスする方法の一般的なアイデアを取得してください。

于 2012-07-28T23:43:35.803 に答える