0

カスタム CharField が追加されたモデル フォームを使用しています。私の質問は、実際に POST リクエスト後にカスタム フィールドにアクセスする標準的な方法は何ですか? これは私が今やっている方法です:

#inside ModelForm 
date = CharField(label='date', widget=Select(choices=[
        ('', '---------'),
        ('N', 'Never')
    ]))

def __init__(self, *args, **kwargs):
   self.date = args[0]['date'] #custom date CharField
   return super(MyForm, self).__init__(*args, **kwargs)

def save(self, *args, **kwargs):
# processing self.date...

それを行うより良い方法はありますか?また、日付フィールドは選択肢を入力データのソースとして使用しています。私の推測では、この特定のインスタンスでは、テーブルとモデルを構築し、クエリセットを使用していくつかの値を取得してもあまり役に立たないでしょう。 .

4

1 に答える 1

0

使用する:

def __init__(self, *args, **kwargs):
    super(MyForm, self).__init__(*args, **kwargs)
    date = self.fields['date']

選択肢の値を編集可能にする必要がある場合は、それらを別のモデルに入れ、ModelChoiceField を使用します。それ以外の場合は、静的な選択肢を使用するだけで問題ありません。

于 2013-03-06T20:33:53.627 に答える