【发布时间】:2017-10-19 17:45:37
【问题描述】:
在 Django 1.10 中,我尝试序列化从以下查询中获得的 QuerySet:
events_in_period = Event.objects \
.filter(timestamp__gte=start_day,
timestamp__lte=end_day,
request__isnull=False,
name=EventType.COMPLETED) \
.annotate(date=TruncDay('timestamp')) \
.values('date') \
.annotate(completed_count=Count('id')) \
.order_by('date')
主要的是 .values() 语句,它使该语句返回一个包含 dict 而不是 Django 模型实例的 QuerySet。
因此以下调用对其进行序列化
from django.core import serializers
output = serializers.serialize('json', result)
失败并出现以下错误:
AttributeError: 'dict' object has no attribute '_meta'
关于序列化的任何建议,但为了简洁起见,我需要它们而不省略 .values()。
【问题讨论】:
标签: python json django serialization django-serializer