100 モデルがあるとします: class SomeModel(models.Model): id = models.AutoField(primary_key=True) a = models.CharField(max_length=10) b = models.CharField(max_length=7) 現在、デフォルトの管理者を使用して、このタイプのオブジェクトを作成/編集しています。b各オブジェクトを値で作成できず、デフォルト値を受け取ることができるように、管理者からフィールドを削除するにはどうすればよい0000000ですか? python django django-models django-admin — ユヴァルアダム ソース
154 設定するeditableにFalseしてdefaultデフォルト値に。 http://docs.djangoproject.com/en/stable/ref/models/fields/#editable b = models.CharField(max_length=7, default='0000000', editable=False) また、idフィールドは不要です。Djangoが自動的に追加します。 — FogleBird ソース
22 次のようにデフォルトを設定できます。 b = models.CharField(max_length=7,default="foobar") 次に、次のようにモデルの管理クラスでフィールドを非表示にできます。 class SomeModelAdmin(admin.ModelAdmin): exclude = ("b") — アンドリューヘア ソース
21 次のようなデフォルトのフィールドで呼び出し可能オブジェクトを使用することもできます。 b = models.CharField(max_length=7, default=foo) そして、呼び出し可能オブジェクトを定義します。 def foo(): return 'bar' — MrOodles ソース 4 これは1.8では機能しないようですが、ドキュメントではそれが機能するはずです。foo()クラスメソッドでなければなりませんか? — ToothlessRebel 3 @staticmethodfoo関数のラッパーを設定する必要があるかもしれません。 — アディクト
foo()
クラスメソッドでなければなりませんか?