我将Django管理设置为以下模型:
class Tag(models.Model):
name = models.CharField(max_length=100)
class Quote(models.Model):
author = models.CharField(max_length=100)
quote = models.CharField(max_length=1000)
tags = models.ManyToManyField(Tag)
使用以下代码:
class TagInline(admin.TabularInline):
model = Tag
class QuoteAdmin(admin.ModelAdmin):
list_display = ('author', 'quote')
inlines = (TagInline,)
class TagAdmin(admin.ModelAdmin):
pass
admin.site.register(Quote, QuoteAdmin)
admin.site.register(Tag, TagAdmin)
当尝试查看管理页面添加Quote
时,页面显示错误<class 'quotes.models.Tag'> has no ForeignKey to <class 'quotes.models.Quote'>
。在我添加内联之前,不会发生这种情况。问题是什么?如何正确地将Tag
添加为内联?
(我花了20分钟寻找答案;我发现了类似的问题,但他们的答案对我都不起作用。
1条答案
按热度按时间ruarlubt1#
管理文档中有一节专门介绍多对多关系的内联。您应该使用
Quote.tags.through
作为TagInline
的模型,而不是Tag
本身。