Django教程:'投票。选择'没有外键'投票。选择'.

2024-09-25 00:27:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我在django教程的第二部分编写im代码时遇到了这个错误,我不知道为什么,我的代码与网站上的代码相同。在

Django 1.8.3款

ERRORS:
<class 'polls.admin.ChoiceInline'>: (admin.E202) 'polls.Choice' has no ForeignKey to 'polls.Choice'.

System check identified 1 issue (0 silenced).

我的模型.py在

^{pr2}$

我的管理员py在

from django.contrib import admin

from .models import Choice, Question

class ChoiceInline(admin.StackedInline):
    model = Choice
    extra = 3

class QuestionAdmin(admin.ModelAdmin):
    fieldsets = [
        (None,{'fields': ['question_text']}),
        ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
    ]
    inlines = [ChoiceInline]

admin.site.register(Choice, ChoiceInline)
admin.site.register(Question, QuestionAdmin)

我真的会精确的帮助,我真的不知道是什么问题,我想完成这个教程


Tags: django代码frompyimportfieldsadminsite
1条回答
网友
1楼 · 发布于 2024-09-25 00:27:49

通过设置,ChoiceInline已包含在您的QuestionAdmin

inlines = [ChoiceInline]。在

这意味着当你编辑一个问题时,你可以同时添加、编辑和删除这个问题的选项。在

由于以下行,您将得到错误:

admin.site.register(Choice, ChoiceInline)

这是无效的,因为你不能用Inline注册模型。只能用ModelAdmin类注册模型。要停止错误,只需从代码中删除这一行。在

如果你想自己编辑选项,你需要定义一个ChoiceAdmin类并注册它。在

^{pr2}$

或者,如果你不需要任何定制,你实际上不需要一个模型管理员。在

admin.site.register(Choice)

相关问题 更多 >