マルチテーブル継承と ABC 継承のどちらかを選択する必要がありますが、サブクラスごとに別々の管理者を設定できるかどうかはわかりません。各サブクラスの管理画面で、すべての基本クラス フィールドとサブクラスのすべてのフィールドが必要です。
これがばかげた質問でしたら申し訳ありません。私はまだマニュアルを読み終えていませんが、締め切りがあります。
もちろん、モデルごとに管理画面を持つことができ、基本モデルのすべてのフィールドが子モデルに表示されます。
階層内の各モデルは、それ自体がモデルです
次に、次の場合:
models.py
class Service(models.Model):
owner = models.ForeignKey('auth.User')
name = models.CharField(max_length=128)
class VariationAService(Service):
# fields
class VariationBService(Service):
# more fields
次のようなことができます。
admin.py
class ServiceAdmin(admin.ModelAdmin):
[...]
class VariationAServiceAdmin(admin.ModelAdmin):
[...]
class VariationBServiceAdmin(admin.ModelAdmin):
[...]
どちらの方法でもすべてのフィールドを取得できます。2つの違いは、複数テーブルの継承があることです...
class Place(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
class Restaurant(Place):
serves_hot_dogs = models.BooleanField()
serves_pizza = models.BooleanField()
...Place
オブジェクトとRestaurant
オブジェクトの両方を取得します。どちらも管理者で編集できますが、抽象基本クラスを使用します...
class Place(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
class Meta:
abstract = True
class Restaurant(Place):
serves_hot_dogs = models.BooleanField()
serves_pizza = models.BooleanField()
...Restaurant
管理者で編集できるオブジェクトのみを取得します。