Обновление с 4.2.6 до 5.0.6 уничтожило мои формы

Я использую ImageForm для загрузки изображений в мою базу данных и храню их в base64 (пользовательские иконки, только некоторые пиксели). Но обновление уничтожило эту функциональность:

class CustomImageFile(AdminFileWidget):
    def render(self, name, value, attrs=None, renderer=None):
        output = [super().render(name, value)]
        try:
            output.append(self.form_instance.instance.show_picture())
        except:
            pass
        return "".join([x for x in output])

class PersonAdminForm(forms.ModelForm):
    image_file = forms.ImageField(widget=CustomImageFile, required=False, label="picture")

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.fields["image_file"].widget.form_instance = self 

    class Meta:
        model = Person
        fields = ["name", ..., "image_file"]

@admin.register(Person)
class PersonAdmin(admin.ModelAdmin):
    list_display = ["get_name", "get_picture"]    

    @admin.display(description="...")
    def get_picture(self, obj):
        try:
            return obj.show_picture
        except: 
            return "... "

class Person(models.Model):
    name = models.CharField("name", max_length=128, blank=True, null=True)
    picture = models.TextField("asb64", blank=True)
    
    def show_picture(self):
        try:
            return format_html(f"""<img src="{self.picture}">""")     
        except:
            return ""

Я протестировал это с Django 4.2.6 & 4.2.13, что дало следующие результаты:

enter image description here

После обновления до версии 5.0.6:

enter image description here

Есть ли изменения в ImageField? Я пока не нашел в патчноутах ничего, что мог бы использовать, но был бы рад решению.

Вернуться на верх