我添加了一个模型方法,可以在管理员中成功显示图片,但仅限于list_display
,如果我将其添加到fieldsets
,目标是在编辑或添加时显示它。它会引发错误。
Exception Value:
Unknown field(s) (thumbnail) specified for Image. Check fields/fieldsets/exclude attributes of class ImageAdmin.
我确信我正在做一些“非法”的事情。或者尝试做一些没有意义的事情。因为如果我去添加一个尚不存在的图像,它也无法显示图像。
我很清楚这一切是如何结合在一起的。有人可以解释一下吗?
谢谢
在我的models.py
中from django.utils.html import format_html
class Image(models.Model):
image = models.ImageField(blank=True, upload_to=_image_upload)
def thumbnail(self):
return format_html(
'<img src="{}" width="auto" height="250">'.format(self.image.url)
)
admin.py
@admin.register(Image)
class ImageAdmin(admin.ModelAdmin):
fieldsets = (
('Edit or upload image', {
'fields': ('thumbnail','...',) #throws a FieldError
}),
)
list_display = ('thumbnail', '...') #works
答案 0 :(得分:0)
尝试将readonly_fields
添加到ImageAdmin
:
@admin.register(Image)
class ImageAdmin(admin.ModelAdmin):
readonly_fields = 'thumbnail' # ADD THIS
fieldsets = (
('Edit or upload image', {
'fields': ('thumbnail','...',) #throws a FieldError
}),
)
list_display = ('thumbnail', '...') #works
如果您只需要管理员的缩略图,请参阅how to use AdminThumbnail from django-imagekit。