2016-09-02 4 views
1

Djangoではadmin/ページでモデルエディタを無料で入手できます。これはすべて正常に動作しますが、私のモデルにはいくつかのフィールドがあり、生成され、フォームを通して誰かに触れるべきではありません。管理ページに特定のフィールドを表示しない

これらをadmin/.../change/フォームから除外するにはどうすればよいですか?

私はModelAdminに除外を追加しました:

class exampleAdmin(admin.ModelAdmin): 
    exclude = ('field',) 

class example(models.Model): 
    field = models.CharField(max_length = 100) 
+1

これを行うには、除外を設定するのが適切です。あなたはあなたのコードを表示していないので、なぜそれが動作していないのかを知ることは困難です。 – Alasdair

+0

@Alasdairコードを追加しました –

+0

更新されたコードはまだokです。モデル管理クラスをどのように登録していますか? – Alasdair

答えて

2

私は を生成し、フォームを誰に触れてはいけません、私のモデルでいくつかのフィールドを持っています。

また、あなたのモデルのフィールド

Field.editable

falseの場合は、は、管理者またはその他の のModelFormに表示されません、フィールド上editable=Falseを使用することができます。モデルの検証中もスキップされます。デフォルトは です。

class Example(models.Model): 
    field = models.CharField(max_length=100, editable=False) 
+0

私はそれでもコードでそれを設定できますか? –

+0

はい、このフィールドはコードでも動作し、表示/編集できません。管理者の方 – bakkal

+1

ありがとうございます。これはコードが少なくて済むため、これが最適なソリューションです。 –

3

はあなたを有効にするにはregisterあなたexampleAdminを持っています。 admin.pyに追加admin.site.register(example, exampleAdmin)

関連する問題