假设我有一些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)
因此,在管理界面中,我希望能够编辑一个人并将地址嵌入其中。
我知道这是可能的,
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
然后我可以按照惯例进行操作,
class AddressInline(admin.TabularInline):
model = Address
class PersonAdmin(admin.ModelAdmin):
model = Person
inlines = (AddressInLine,)
class CompanyAdmin(admin.ModelAdmin):
and so on
但这意味着每个人会有多个地址,我的地址模型感觉不太对了。欢迎提供帮助。