【发布时间】:2018-09-10 14:30:15
【问题描述】:
我正在使用 django 和 javascript,我需要将字典的 JSON 发送到 javascript。这需要将两个不同的 django 查询集组合成一个类似对象的字典
我试过了:
from itertools import chain
import json
checkin = Checkins.objects.get(checkinno=1)
checksins = (Checkins.objects.filter(checkinno=1).values('checkinno', 'date', 'time', 'consulted', 'closed'))
custid = checkin.hospitalid.cstid
checks = (customer.objects.filter(cstid=custid).values('name', 'age', 'gender', 'mobile', 'email', 'address'))
result_list = list(chain(checksins, checks))
print(result_list)
我明白了:
[{
'checkinno': 1,
'date': datetime.date(2018, 9, 10),
'time': '6:10 PM',
'consulted': 0,
'closed': 0
},
{
'name': 'Jeff',
'age': 5,
'gender': 'male',
'mobile': '000000',
'email': '', 'address': ''
}]
我想要什么:
[
'checkinno': 1,
'date': datetime.date(2018, 9, 10),
'time': '6:10 PM',
'consulted': 0,
'closed': 0,
'name': 'Jeff',
'age': 5,
'gender': 'male',
'mobile': '000000',
'email': '',
'address': ''
]
【问题讨论】:
-
第二个的语法有点偏离:语法“组合”列表和字典。
-
此外,如果两个(或更多)字典共享相同的键会发生什么?由于 Python 字典将键映射到 one 值,这可能会导致很多麻烦。
-
他们不会共享相同的密钥。这是一个 django 模型,第二个通过外键与第一个相关
-
请说明您是否需要在不评估查询的情况下完成此操作。
-
好吧,严格来说,您可能有一个
City和一个Country,它们都具有name属性。因此,这些通过FK关联的事实并不能解决问题。
标签: python django python-3.x list dictionary