[英]How to not display foreign key as list in Django admin object page?
我有两个基本模型:
class Address(models.Model):
...
class Company(models.Model):
address = models.ForeignKey(Address, related_name='address')
billing_address = models.ForeignKey(Address, related_name='billing_address')
因为有两个地址,所以我为地址创建了一个模型以免重复代码。
从Django的角度看,一切似乎都是逻辑。 但是在Django管理中,拥有列表是不逻辑的,因为每个公司都有自己的地址。 具有内联之类的东西应该更合规,但仅限于一个元素。
因此,基本上,我目前发现的唯一解决方案是:
class Company(models.Model):
street_address = models.CharField(max_length=200)
...
street_billing_address = models.CharField(max_length=200)
...
但是,这个解决方案的问题再次是重复的代码... :(
有解决方案的主意吗?
您可以使用两个内联,每个内联限于一个元素。 例如:
class AddressInline(admin.StackedInline):
model = Address
fk_name = "address"
max_num = 1
class BillingAddressInline(admin.StackedInline):
model = Address
fk_name = "billing_address"
max_num = 1
class CompanyAdmin(admin.ModelAdmin):
# ...
inlines = [AddressInline, BillingAddressInline]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.