MainModel
とという名前のモデルが与えられた場合、後者RelatedModel
には へのForeignKey
フィールドがありMainModel
ます。
class MainModel(models.Model):
name = models.CharField(max_length=50)
type = models.BooleanField()
class RelatedModel1(models.Model):
main = models.ForeingKey(MainModel):
name = models.CharField(max_length=50)
class RelatedModel2(models.Model):
main = models.ForeingKey(MainModel):
name = models.CharField(max_length=50)
および対応する ModelAdmin クラス:
class RelatedModel1InlineAdmin(admin.TabularInline):
model = RelatedModel1
class RelatedModel2InlineAdmin(admin.TabularInline):
model = RelatedModel2
class MainModel(admin.ModelAdmin):
inlines = [RelatedModel1, RelatedModel2]
これがデフォルトの動作です。関連するモデルごとに 1 つずつ、合計 2 つのインラインを取得します。MainModel
問題は、インスタンスが作成されているときにすべてのインラインを完全に非表示にする方法(ModelAdmin
のadd_view
)、およびインスタンスのフィールドが であるRelatedModel1
ときにインラインを表示し、 whenでインラインを表示する方法です。type
MainModel
True
RelatedModel2
False
属性の記述子を作成しようとしましたModelAdmin.inline_instances
が、編集中のオブジェクト インスタンスにアクセスする必要があることに気付きましたが、それはパラメーターとして渡されます。
何か助けはありますか?
ありがとう!