在使用ValuesQuerySet存放查询结果时,有时需要转为json,但并不能直接使用json.dumps()直接转,而是需要经过下面一个步骤:
result_set = Apple.objects.all().values()
print type(result_set)
data_list = result_set[:] # queryset转为list
print type(data_list)
output:
<class 'django.db.models.query.ValuesQuerySet'>
<type 'list'>
经过转换之后,data_list可以使用json.dumps()转为json;
为什么要有ValuesQuerySet?
- 查询内容直接转为字典形式,方便后续使用;
- 可以指定查询哪一列;例如Apple.objects.all().values(‘id’),只会查询表中的id这一列;