2015-08-18 32 views
5

Yönetici Panosunda özelleştirilmiş görünüm elde etmek için Inlines'ı kullanmaya çalışıyorum. Aşağıda kodudurMediaDefiningClass Nesnesi yinelenemez değil mi?

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) 

alıyorum hata TypeError: 'MediaDefiningClass' object is not iterable

benim kodunda sorun nedir nedir?

+1

Hata hangi sırada ortaya çıkıyor? Lütfen geri izlemeyi gönderin. – saulspatz

+0

JSONField, BTW gibi bazı özel ORM alanı kullanıyor musunuz? –

cevap

0

bazen bu hatanın nedeni, yanlış sırayla kayıt işlevine argümanlar gönderiyordu.

ModelAdmin kaydettirme sırasını kontrol edin: önce model sınıf, sonra ModelAdmin sınıfı.

Örnek: admin.site.register (Model, ModelAdmin)

doğal olarak, ikinci bir yazmaç (MyModel) olarak iyi çalışır çünkü ModelAdmin olmak sahip olduğunu varsayalım.

İlgili konular