MediaDefiningClass对象是不可迭代的?

Cod*_*mon 5 python django django-oscar

尝试使用Inlines在Admin Dashboard上获取自定义视图.下面是代码

from django.contrib import admin # noqa
from oscar.core.loading import get_model
from oscar.apps.catalogue.admin import *

CategoryAttribute = get_model('catalogue', 'CategoryAttribute')
CategoryAttributeValue = get_model('catalogue', 'CategoryAttributeValue')
Category = get_model('catalogue', 'Category')

class CategoryAttributeInline(admin.TabularInline):
    model = CategoryAttributeValue
    fk_name = 'category'
    extra = 1

class CategoryAdmin(admin.ModelAdmin):
    inlines = [CategoryAttributeInline,]

admin.site.register(CategoryAttributeValue)
admin.site.register(CategoryAttribute)
admin.site.register(Category, CategoryAdmin)
Run Code Online (Sandbox Code Playgroud)

我得到的错误是 TypeError: 'MediaDefiningClass' object is not iterable

我的代码有什么问题?

小智 4

有时,此错误的原因是以错误的顺序向寄存器函数发送参数。

\n\n

检查注册 ModelAdmin 的顺序:it\xe2\x80\x99 首先是模型类,然后是 ModelAdmin 类。

\n\n

示例:admin.site.register(Model, ModelAdmin)

\n\n

我认为第二个自然必须是 ModelAdmin,因为 register(MyModel) 也可以工作。

\n