
第一种方法:使用django自带方法serializers
from django.core import serializers
obj = SomeModel.objects.first()
serialized_obj = serializers.serialize('json', [ obj, ])
serialized_obj = serializers.serialize('python', [ obj, ])
第二种方法:使用model_to_dict
from django.forms.models import model_to_dict
from django.http import JsonResponse
obj = SomeModel.objects.first()
model_to_dict(obj )
第三种方法:利用json.dumps()
from django.forms import model_to_dict
from django.core.serializers.json import DjangoJSONEncoder
from django.db.models import Model
class ExtendedEncoder(DjangoJSONEncoder):
def default(self, o):
if isinstance(o, Model):
return model_to_dict(o)
return super().default(o)
json.dumps(data, cls=ExtendedEncoder)
参考
http://www.chenxm.cc/article/867.html
文章最后更新时间: 2021-12-15 14:17:06