(django) Кодек 'utf-8' не может декодировать байт 0x89 в позиции 0: недопустимый начальный байт

Сейчас я пытаюсь назначить две foreignkey на одну пользовательскую модель пользователя, имя пользователя и поле изображения профиля. Пользовательская модель пользователя:

class Account(AbstractBaseUser, PermissionsMixin):
    
    class Meta:
        verbose_name_plural = "Account List"

    email = models.EmailField(max_length=255, unique=True)
    username = models.CharField(max_length=255, unique=True)
    name = models.CharField(max_length=255, default="")
    profile_image = models.ImageField(max_length=255, upload_to=profile_image_path, blank=True, unique=True)
    about = models.TextField(max_length=255, default='Write something about yourself...', blank=True)
    start_date = models.DateTimeField(default=timezone.now)
    is_staff = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)
    is_active = models.BooleanField(default=True)
    last_login = models.DateTimeField(auto_now=True)

    objects = AccountManager()

    USERNAME_FIELD = "email"
    REQUIRED_FIELDS = ["username", "name"]

    def __str__(self):
        return self.username

Модель потока:

class Thread(models.Model):

    options = (('active', 'Active'), ('deactivated', 'Deactivated'))

    username = models.ForeignKey(Account, on_delete=models.CASCADE, to_field='username', related_name='user')
    profile_image = models.ForeignKey(Account, on_delete=models.CASCADE, to_field='profile_image', related_name='profile')
    alt = models.TextField(max_length=255, blank=True)
    image = models.ImageField(max_length=255, upload_to=thread_image_path, default='images/family.png')
    content = models.TextField(blank=True)
    created = models.DateTimeField(default=timezone.now)
    status = models.CharField(max_length=11, choices=options, default='active')

Однако, когда я пытаюсь создать поток, я всегда сталкиваюсь с ошибкой:

UnicodeDecodeError at /api/public/thread/
'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte
Request Method: GET
Request URL:    http://127.0.0.1:8000/api/public/thread/
Django Version: 4.0.4
Exception Type: UnicodeDecodeError
Exception Value:    
'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte
Exception Location: c:\Users\85291\Desktop\vscode\my-app\web\env\lib\site-packages\rest_framework\utils\encoders.py, line 50, in default

Эта ошибка возникла сразу после того, как я присвоил foreignkey изображению профиля, сериализатор не может сериализовать изображение в конечную точку API. Я попробовал зайти в encoders.py и изменить кодировку на utf16, но проблема осталась.

У кого-нибудь есть идеи, что не так с моим кодом? Буду очень признателен.

Думаю, вы можете справиться с загруженным изображением.

class ThreadSerializer(serializers.ModelSerializer):
    created = serializers.DateTimeField(format="%d %B, %Y %H:%M:%S")
    uploaded_image = serializers.FileField(
        max_length = 1000000,
        allow_empty_file = False,
        write_only = True
    )
    profile_image = UserSerializer(read_only = True)

    class Meta:
        model = Thread
        fields = (
            ...,
            'uploaded_image',
        )
        extra_kwargs = {
            'image': { 'read_only': True }
        }

    
    def create(self, validated_data):
        image_data = validated_data.pop('uploaded_image')
        thread_obj = Thread(**validated_data)
        thread_obj.image = image_data
        thread_obj.save()
        return thread_obj

Во frontend необходимо загрузить изображение с ключом uploaded_image.

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