2010-12-24 3 views
0

Djangoでオブジェクトを編集するときにフィールドをオーバーライドしたい。オブジェクトの編集時にフォームデータをオーバーライドする

たとえば、既存のカテゴリを編集しようとすると、フィールド名と説明がデータベースから読み込まれます。私がしたいのは、データベースに格納されているデータではなく、フィールドに別のデータを表示することです。それを行う方法はありますか?

質問は奇妙なので、なぜ私はそれが必要なのか疑問に思うかもしれません。それは学校のプロジェクトのためであり、私がやりたいことをする唯一の方法です。

は、私はこれをテストしませんでしたが、私は前にそれを行っている

+0

管理セクションでオブジェクトを編集しているのですか、オブジェクトを編集するための独自の(モデルベースの)フォームを作成していますか? – LaundroMat

+0

私は、オブジェクトを追加および編集するためにデフォルトのフォームを使用して管理セクションのオブジェクトを編集しています。 – bnabilos

答えて

0

:-)あなたの助けのために事前にありがとうございます。 、お使いのモデルのカスタムのModelFormを作成ModelAdminのクラスにそれを設定し、このようなフォームクラスを実装:それはあなたが何を意味はない場合

class MyForm(forms.ModelForm): 
    def __init__(self, *args, **kwargs): 
     super(MyForm, self).__init__(*args, **kwargs) 
     if kwargs.get('instance'): 
      self.fields['myfield'].initial = 'custom value' 

    class Meta: 
     model = MyModel 

、ちょうど返信と私はそれを更新します。

関連する問題