Python Django json 序列化
Python Django json serialise
我有一个 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"
我试图删除它,方法是 select 将字段设置为
data = serializers.serialize(lang, query_data, fields=('domain','record_points_to'))
但 model: "getdata.record_search"
仍然保留在我的序列化 json 数据中。排除这种情况的最佳方法是什么?
截至目前,由于 serializers.serialize() returns 一个字符串,我正在这样做
return re.sub('\"model\"\:\s+?\"getdata\.record_search\"\,', "", data)
但我确信这是一种丑陋的方式。实现此目标的 pythonic 最佳方法是什么?
序列化用于 serializing/unserializing 个 模型 。没有此 "model" 字段,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))
我有一个 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"
我试图删除它,方法是 select 将字段设置为
data = serializers.serialize(lang, query_data, fields=('domain','record_points_to'))
但 model: "getdata.record_search"
仍然保留在我的序列化 json 数据中。排除这种情况的最佳方法是什么?
截至目前,由于 serializers.serialize() returns 一个字符串,我正在这样做
return re.sub('\"model\"\:\s+?\"getdata\.record_search\"\,', "", data)
但我确信这是一种丑陋的方式。实现此目标的 pythonic 最佳方法是什么?
序列化用于 serializing/unserializing 个 模型 。没有此 "model" 字段,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))