Django admin ManyToMany内联“没有ForeignKey”错误

我正在设置Djangopipe理员以下模型:

class Quote(models.Model): author = models.CharField(max_length=100) quote = models.CharField(max_length=1000) tags = models.ManyToManyField('Tag') class Tag(models.Model): name = models.CharField(max_length=100) 

用下面的代码:

 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) 

当试图查看pipe理页面添加一个Quote ,页面显示错误说<class 'quotes.models.Tag'> has no ForeignKey to <class 'quotes.models.Quote'> 。 这在我添加内联之前没有发生。 有什么问题? 如何正确添加Tag作为内联?

(我花了20分钟寻找一个答案,我发现了类似的问题,但他们的答案都没有为我工作。)

pipe理文档有专门用于内联多对多关系的部分。 您应该使用Quote.tags.through作为Quote.tags.through的模型,而不是Tag本身。