如果有一个包含JSONField的 Django 模型,那么使用Django Rest Framework 序列化和反序列化 JSONField 的正确方式是什么?
我已经尝试过创建自定义的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对象中的所有浮点数都变成了字符串。
JSONWritableField
听起来更好吗? - Tzach