小编Dal*_*ien的帖子

使用多个模型在Django Admin中反转内联

说我有一些django模型,如下所示:

class Address(models.Model):
    pass

class Person(models.Model):
    address = models.ForeignKey(Address)

class Store(models.Model):
    address = models.ForeignKey(Address)

class Company(models.Model):
    address = models.ForeignKey(Address)
Run Code Online (Sandbox Code Playgroud)

因此,在Admin界面中,我希望能够编辑Person并使地址具有内联.

我知道可以这样做,

class Address(models.Model):
    person  = models.ForeignKey(Person, blank=True)
    store   = models.ForeignKey(Store, blank=True)
    company = models.ForeignKey(Company, blank=True)

class Person(models.Model):
    pass

class Store(models.Model):
    pass

class Company(models.Model):
    pass
Run Code Online (Sandbox Code Playgroud)

然后我可以做通常的,

class AddressInline(admin.TabularInline):
    model = Address

class PersonAdmin(admin.ModelAdmin):
    model = Person
    inlines = (AddressInLine,)

class CompanyAdmin(admin.ModelAdmin):
    and so on
Run Code Online (Sandbox Code Playgroud)

但这意味着我每个人都有多个地址,我的地址模型不再适合.

任何帮助将不胜感激.

python django

8
推荐指数
1
解决办法
2876
查看次数

标签 统计

django ×1

python ×1