Say I have some django models, something like this:
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)
So, in the Admin interface, I’d like to be able to edit a Person and have the Address in-lined.
I know it’s possible to do this,
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
Then I can do the usual,
class AddressInline(admin.TabularInline):
model = Address
class PersonAdmin(admin.ModelAdmin):
model = Person
inlines = (AddressInLine,)
class CompanyAdmin(admin.ModelAdmin):
and so on
But this then means that I’d have more than one address per person, and my Address model doesn’t feel right any more.
Any help will be appreciated.
Try the following
Then you can do this: