Сохранение двоичных данных с использованием метода Django Rest Framework Viewset - PullRequest
0 голосов
/ 05 марта 2020

У меня есть метод viewset save, который принимает formdata и должен сохранить экземпляр и вернуть его.

@action(methods=['put'], detail=False)
def save(self, request):
    user = request.user

    if not user.is_staff:
        raise PermissionDenied("You must be a staff member or superuser to edit app settings.")

    settings = Globaloptions.objects.first()
    data = json.loads(request.body, encoding='utf-8')
    if not settings.guestEnabled:
        if 'guestDashboard' in data:
            del data['guestDashboard']

    [setattr(settings, k, v) for k, v in data.items()]
    settings.save()
    serializer = self.get_serializer(settings, many=False)
    return Response(serializer.data)

Недавно я добавил поле модели в модель. Так что теперь, когда я пытаюсь сохранить его, я получаю сообщение об ошибке, потому что не удается проанализировать данные в utf-8.

Как правильно сохранить форму с двоичными данными при использовании набора просмотра?

...