存的时候 注意格式,最好对应格式,不要全存字符串形式,以免之后查询有问题;
还有当这种方式插入时,数组的某一项为空时,如CpuOptions_ThreadsPerCore=i[‘CpuOptions’][‘ThreadsPerCore’]为空时,这一整项数据都不会插入,
t = json.loads(ali.dins_a())
# x = 0
for i in t['Instances']['Instance']:
Fun1.objects.create(InstanceId=i['InstanceId'], InstanceName=i['InstanceName'],
# CpuOptions_ThreadsPerCore=i['CpuOptions']['ThreadsPerCore'],
)
从数据库取数据的时候,要求的数据格式为json格式的字典组成的列表,
ret=Fun1.objects.all()
#这样返回的结果为所有对象
结果为:Fun1 object (1)Fun1 object (2)Fun1 object
ret=Fun1.objects.filter().values_list()
#这样返回的结果为value组成的元组
结果为:(1, ‘i-bp15m0y26ihswpa3boa1’)(2, ‘i-bp15m0y26ihswpa3boa0’,)
ret=Fun1.objects.all().values()
#等价于ret=Fun1.objects.filter().values()
#这样返回的结果为对象里的值(键值对)(不是元组类型)
结果为:{‘id’: 1, ‘InstanceId’: ‘i-bp15m0y26ihswpa3boa1’}{‘id’: 2, ‘InstanceId’: ‘i-bp15m0y26ihswpa3boa0’}
ret=Fun1.objects.all().values()
ret = list(ret)
#令其为元组就能JsonResponse了
在Django中,存储JSON格式数据时需注意数据格式,避免全存为字符串导致查询困难。若JSON数组某项为空,该数据可能不会被插入数据库。在检索时,期望数据格式为JSON字典组成的列表。查询结果示例:对象实例与ID的组合,以及格式化的字典数据。
609

被折叠的 条评论
为什么被折叠?



