У меня есть метод 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.
Как правильно сохранить форму с двоичными данными при использовании набора просмотра?