Учитывая модель Django с JSONField, что является правильным способом сериализации и десериализации ее с помощью Django Rest Framework?
Я уже пробовал разбивать пользовательский serializers.WritableField
и переопределять to_native
и from_native
:
from json_field.fields import JSONEncoder, JSONDecoder
from rest_framework import serializers
class JSONFieldSerializer(serializers.WritableField):
def to_native(self, obj):
return json.dumps(obj, cls = JSONEncoder)
def from_native(self, data):
return json.loads(data, cls = JSONDecoder)
Но когда я пытаюсь обновить модель с помощью partial=True
, все поплавки в объектах JSONField становятся строками.