我有以下两种模式:
class Seller(models.Model):
name = models.Charfields(max_lenght=500)
(... more fields, but no foreignkeys to anyone)
class Ad(models.Model):
seller = models.Foreignkey(Seller, related_name='ads')
(... more fields that are not relevant to this question )
现在,我想在Django管理员的年龄'广告'页面中包含卖家信息。我试着像这样管理内联:
class SellerInline(admin.TabularInline):
model = Seller
view_on_site = False
class AdAdmin(admin.ModelAdmin):
list_display = ['item', 'title', 'seller', 'price']
list_filter = ('item', 'item_state', 'transaction_type', )
view_on_site = False
raw_id_fields = ('seller', 'searches')
search_fields = ['title', 'seller__username']
inlines = [
SellerInline,
]
但是这会引发以下错误:
<class 'scraper.admin.SellerInline'>: (admin.E202) 'scraper.Seller' has no ForeignKey to 'scraper.Ad'.
现在,一些谷歌搜索告诉我,反向关系不适用于内联管理员。我可以在模型上反转外键。但每个卖家可能有数百个广告(并且广告模型有大约20个字段),这将导致一个非常笨拙的卖家页面。
有没有人知道如何在管理员的广告页面上添加卖家字段,或者这真的不可能吗?