0

マルチテーブル継承と ABC 継承のどちらかを選択する必要がありますが、サブクラスごとに別々の管理者を設定できるかどうかはわかりません。各サブクラスの管理画面で、すべての基本クラス フィールドとサブクラスのすべてのフィールドが必要です。

これがばかげた質問でしたら申し訳ありません。私はまだマニュアルを読み終えていませんが、締め切りがあります。

4

2 に答える 2

1

もちろん、モデルごとに管理画面を持つことができ、基本モデルのすべてのフィールドが子モデルに表示されます。

ジャンゴドキュメントから

階層内の各モデルは、それ自体がモデルです

次に、次の場合:

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):
    [...]
于 2013-04-24T17:28:48.080 に答える
1

どちらの方法でもすべてのフィールドを取得できます。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管理者で編集できるオブジェクトのみを取得します。

于 2013-04-24T17:26:19.537 に答える