TypeError:object()在尝试admin.site.register时不带参数

时间:2018-06-07 03:23:55

标签: python django

所有其他模型以同样的方式注册成功,只有一个:

尝试admin.site.register(ProductImage, ProductImageAdmin)

in products/models.py

class ProductImage(models.Model):
    product = models.ForeignKey(Product, on_delete=models.CASCADE, blank=True, null=True, default=None)
    image = models.ImageField(upload_to='product_images/')
    is_active = models.BooleanField(default=True)
    created = models.DateTimeField(auto_now_add=True, auto_now=False)
    updated = models.DateTimeField(auto_now_add=False, auto_now=True)

    def __str__(self):
        return ('Phpoto %s' % (self.id))

    class Meta:
        verbose_name = 'photo'
产品/ admin.py中的

class ProductImageAdmin:
    list_display = [field.name for field in ProductImage._meta.fields]
    exclude = []

    class Meta:
        model = ProductImage

错误是:

  

文件“C:\ Dev \ tst \ products \ admin.py”,第22行,in       admin.site.register(ProductImage,ProductImageAdmin)     文件“C:\ Users \ Anti- \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ django \ contrib \ admin \ sites.py”,第124行,在re   gister       self._registry [model] = admin_class(model,self)   TypeError:object()不带参数

是ImageField特有的东西吗?

1 个答案:

答案 0 :(得分:4)

您忘记了inheritdocs

中的admin.ModelAdmin
from django.contrib import admin
class ProductImageAdmin(admin.ModelAdmin):
    ...