Скажем, у меня есть некоторые модели 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
Но тогда это означает, что у меня будет больше, чемодин адрес на человека, и моя модель адресов больше не подходит.
Буду признателен за любую помощь.