我有这两个模型:
class Rule(models.Model):
name = models.CharField(max_length=200)
class Channel(models.Model):
id = models.CharField(max_length=9, primary_key=True)
name = models.CharField(max_length=100)
rule = models.ForeignKey(Rule, related_name='channels', blank=True)
而且我必须能够在 RuleAdmin 界面内的管理站点中添加频道以进行规则。所以我创建了这两个管理模型:
class ChannelAdmin(admin.TabularInline):
model = Channel
class RuleAdmin(admin.ModelAdmin):
model = Rule
inlines = [ChannelAdmin]
但是当我启动我的服务器时,我得到了这个错误:
ERRORS:
<class 'main.admin.ChannelAdmin'>: (admin.E202) 'main.Channel' has no ForeignKey to 'main.Channel'.
仍然在 django shell 中,我可以进行如下查询
rule = Rule.objects.get(pk=1)
rule.channels.all()
必须有一些明显的东西,但我无法弄清楚。
原文由 valignatev 发布,翻译遵循 CC BY-SA 4.0 许可协议
做这样的事情: