0

楷模:

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 中的 Cars 菜单中,在该菜单中我们有很多细节(如教程中所示)。在管理员中我使用:

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

但它有错误:Detail has no ForeignKey to Cars。如何解决?

4

1 回答 1

0

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

不过有一个解决方法,您必须稍微覆盖管理模板。这里有一个关于此问题的先前 SO 问题:Inline-like solution for Django Admin where Admin contains ForeignKey to other model

于 2012-10-30T16:17:38.483 回答