我的admin.TabularInline类返回异常:object没有属性'urls'

alj*_*idu 5 python django django-urls django-admin

所以我一直在谷歌搜索,无法找到我的问题的解决方案.老实说我很困惑,所以谢谢你看看.

mysite的/ mysite的/ urls.py:

...
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
                         url(r'^admin/', include(admin.site.urls)),
...
Run Code Online (Sandbox Code Playgroud)

mysite的/ upgradelists/admin.py:

from django.contrib import admin
from upgrademe.models import GPU, CPU

class CPUAdmin(admin.TabularInline):
    model = CPU

admin.site.register(CPU, CPUAdmin)
Run Code Online (Sandbox Code Playgroud)

返回错误:

AttributeError at /admin/
'CPUAdmin' object has no attribute 'urls'
Run Code Online (Sandbox Code Playgroud)

但是,如果我将admin.py更改为:

class CPUAdmin(admin.ModelAdmin):
    model = CPU
Run Code Online (Sandbox Code Playgroud)

一切都很好.(虽然,不相关的说明:我相信'model = CPU'部分是多余的?)

任何帮助/洞察力将非常感激.谷歌让我感到困惑,而对StackOverflow的搜索却没有发现任何我能看到的相关内容.

dvt*_*tan 11

我有同样的问题,谷歌带我到这个线程,它没有帮助.当我即将发布我的问题时,我解决了它.

我甚至不知道你的问题是否相同,但这里是:

class UserAnswerInline(admin.TabularInline):
    model = UserAnswer
class UserQuestionAdmin(admin.ModelAdmin):
    inlines = [UserAnswerInline]
admin.site.register(UserQuestion, UserAnswerInline)
Run Code Online (Sandbox Code Playgroud)

正确的代码:

class UserAnswerInline(admin.TabularInline):
    model = UserAnswer
class UserQuestionAdmin(admin.ModelAdmin):
    inlines = [UserAnswerInline]
admin.site.register(UserQuestion, UserQuestionAdmin)
Run Code Online (Sandbox Code Playgroud)

指出不同?是的,错误的对象名称.在我决定创建一个关于SOF的新问题之前5个小时,我解释了我的问题.


Dan*_*man 1

您无法直接在管理站点注册表格管理类。TabularAdmin 是 InlineAdmin 的子类,因此仅可在inlines完整 ModelAdmin 的属性中使用。