我有一个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最好的方法是什么?
答案 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))