Django Admin中的嵌套TabularInline模型

时间:2014-10-26 12:54:56

标签: django django-models django-admin

我有3个模型:FirstEntitySecondEntityThirdEntity。我已成功使用TubularInlineSecondEntity表单中添加FirstEntity,但我无法找出将ThirdEntity作为SecondEntity的一部分加入的最佳方式。我假设这个方法是嵌套的内联?

所以基本上结构如下:FirstEntity <- SecondEntity <- ThirdEntity

以下是我的示例代码:

# Models
class FirstEntity(models.Model):
    name = model.CharField()

class SecondEntity(models.Model):
    name = model.CharField()
    firstEntity = models.ForeignKey(FirstEntity)

class ThirdEntity(models.Model):
    name = model.CharField()
    secondEntity = models.ForeignKey(SecondEntity)

# Admin
class SecondEntityInline(admin.TabularInline):
    model = SecondEntity

class FirstEntityAdmin(admin.ModelAdmin):

    inlines = (
        SecondEntityInline,
    )

作为旁注我使用Django 1.7.2

我可以通过使用ManyToMany字段来解决这个问题,但说实话,我很难确定是否应该避免或使用M2M字段。

1 个答案:

答案 0 :(得分:0)