Добавить двоичные данные в django API остального фреймворка - PullRequest
0 голосов
/ 09 января 2020

model.py

class TblSnapshot(models.Model):
    url = models.CharField(max_length=500)
    snapshot = models.BinaryField()

Я хочу добавить двоичные данные в API, но генерируется ошибка

TypeError at /api
__str__ returned non-string (type memoryview)

1 Ответ

1 голос
/ 09 января 2020

Вам нужно будет реализовать настраиваемое поле ( согласно здесь) . Вот так ваш сериализатор будет выглядеть для такой модели

class BinaryField(serializers.Field):
    def to_representation(self, value):
        return value.decode('utf-8')

    def to_internal_value(self, value):
        return value.encode('utf-8')

class TblSnapshotSerializer(serializers.ModelSerializer):
    class Meta:
        model = TblSnapshot
        fields = ('id', 'url', 'snapshot')

    snapshot = BinaryField()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...