val*_*tev 2 python django foreign-keys django-admin
我有两个模型:
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)
Run Code Online (Sandbox Code Playgroud)
而且我必须能够在RuleAdmin界面内的管理站点中添加规则通道。因此,我创建了这两个管理员模型:
class ChannelAdmin(admin.TabularInline):
model = Channel
class RuleAdmin(admin.ModelAdmin):
model = Rule
inlines = [ChannelAdmin]
Run Code Online (Sandbox Code Playgroud)
但是,当我启动服务器时,出现以下错误:
ERRORS:
<class 'main.admin.ChannelAdmin'>: (admin.E202) 'main.Channel' has no ForeignKey to 'main.Channel'.
Run Code Online (Sandbox Code Playgroud)
仍然在django shell中,我可以像这样进行查询
rule = Rule.objects.get(pk=1)
rule.channels.all()
Run Code Online (Sandbox Code Playgroud)
总有一些明显的东西,但我只是想不通。
做这样的事情:
class ChannelAdmin(admin.TabularInline):
model = Channel
class RuleAdmin(admin.ModelAdmin):
inlines = [ChannelAdmin,]
admin.site.register(Rule,RuleAdmin)
Run Code Online (Sandbox Code Playgroud)