Python Django json序列化

时间:2015-01-24 18:07:36

标签: python mysql json django serialization

我有一个mysql objects.filter,我试图序列化为json。我的领域是 domain, generated_on, id, priority_mx, record, record_points_to, ttl

然而,在我序列化数据之后

from getdata.models import record_search
query_data = record_search.objects.filter(**filter_kwargs).only("domain", "record", "record_points_to", "priority_mx", "ttl", "generated_on")
data = serializers.serialize(lang, query_data)

我的数据还有一个字段

model: "getdata.record_search"

我试图将字段选为

来删除它
 data = serializers.serialize(lang, query_data, fields=('domain','record_points_to'))

model: "getdata.record_search"仍然存在于序列化的json数据中。排除这个的最佳方法是什么?

截至目前,由于serializers.serialize()返回一个字符串,我这样做是为了

return re.sub('\"model\"\:\s+?\"getdata\.record_search\"\,', "", data)

但我确信这是一种丑陋的方式。 pythonic最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

序列化用于序列化/反序列化模型。没有这个"模型" Django无法反序列化模型。字段。

为什么要使用序列化?为什么不使用标准的json库?

import json
from getdata.models import record_search

query_data = record_search.objects.filter(**filter_kwargs) \
                          .values("id", "domain", "record", "record_points_to",
                                  "priority_mx", "ttl", "generated_on")
data = json.dumps(list(query_data))