ConnectionRefusedError просмотр ImageField в админке
Абсолютный нооб в django. Я просто выбираю случайные вещи, которые меня интересуют, чтобы попытаться узнать больше о разработке на этой платформе.
Я пытался добавить поле ImageField к одной из моих моделей.
Если у меня нет изображения, сохраненного как часть объекта, область администратора отображается нормально, но если я попытался сохранить изображение (сохранение не показывает мне никакой ошибки, о которой я знаю - я вижу путь изображения в этом поле), то при просмотре модели в администраторе я получаю ConnectionRefusedError
Internal Server Error: /admin/fb/organization/
Traceback (most recent call last):
File "/home/rowc/.local/lib/python3.8/site-packages/django/db/models/options.py", line 672, in get_field
return self.fields_map[field_name]
KeyError: 'thumbnail_preview'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/rowc/.local/lib/python3.8/site-packages/django/contrib/admin/utils.py", line 271, in lookup_field
f = _get_non_gfk_field(opts, name)
File "/home/rowc/.local/lib/python3.8/site-packages/django/contrib/admin/utils.py", line 302, in _get_non_gfk_field
field = opts.get_field(name)
File "/home/rowc/.local/lib/python3.8/site-packages/django/db/models/options.py", line 674, in get_field
raise FieldDoesNotExist(
django.core.exceptions.FieldDoesNotExist: Organization has no field named 'thumbnail_preview'
Моя модель выглядит следующим образом
class Organization(models.Model):
class Meta:
ordering = ['name']
name= models.CharField(max_length=32, unique=True)
abbreviation= models.CharField(max_length=3, unique=True)
logo = models.ImageField(blank=True, upload_to='images')
def __str__(self) -> str:
return "(" + self.abbreviation + ") " + self.name
@property
def thumbnail_preview(self):
if self.logo:
_thumbnail = get_thumbnail(self.logo,
'300x300',
upscale=False,
crop=False,
quality=100)
return format_html('<img src="{}" width="{}" height="{}">'.format(_thumbnail.url, _thumbnail.width, _thumbnail.height))
return ""
А код администратора выглядит следующим образом
class OrganizationAdmin(admin.ModelAdmin):
list_display = ('abbreviation','name', 'thumbnail_preview')
def thumbnail_preview(self, obj):
return obj.thumbnail_preview
thumbnail_preview.short_description = 'Thumbnail Preview'
thumbnail_preview.allow_tags = True
Оригинально я не включал свойство "upload_to" и это не приводило к ошибке, но отображало неработающее изображение.