Django Admin中的多对多关系

时间:2012-10-30 15:37:52

标签: django admin

模型:

class Detail(models.Model):
    def __unicode__(self):
            return self.title
    title = models.CharField(max_length=32)

class Cars(models.Model):
    def __unicode__(self):
            return self.name
    name = models.CharField(max_length=32, unique=True)
    details = models.ManyToManyField(Detail)

所以,每辆车都有很多细节 - 轮子,引擎等。如何做到这一点:在Django Admin位于汽车菜单中,在该菜单中我们有许多细节(如tutorial)。 在 admin 中,我使用:

class DetailInline(admin.TabularInline):
    model = Detail
    extra = 6
class CarsAdmin(admin.ModelAdmin):
    inlines = [DetailInline]

但它有错误:细节没有对汽车的外来钥匙。如何解决?

1 个答案:

答案 0 :(得分:0)

Django本身不允许你添加反向内联。 即,您可以让详细信息页面包含所有包含该特定详细信息的ForeignKey的汽车的内联管理员。但是,反过来本来就不可能。

虽然有一种解决方法,但您必须稍微覆盖管理模板。此处有一个关于此的问题:Inline-like solution for Django Admin where Admin contains ForeignKey to other model

相关问题