如何将Django查询的结果设置为等于一组新变量? 例如,当我在Django shell上运行此查询时:
getDefaults = defaultParams.objects.filter(isDefault = True, device = 41)
然后运行:
for val in getDefaults.values():
print(val)
它返回:
{'id': 2, 'device_id': 41, 'customerTag': 'ABCD001', 'isDefault': True}
我想使用此字典中的值将新记录保存到数据库中,但似乎无法从字典中提取值? 我以为会是这样:
device_id = getDefaults.device_id
NewCustomerTag = getDefaults.customerTag
答案 0 :(得分:1)
values()
显式返回字典列表,因此您需要使用字典语法:val['device_id']
。
但是对于您而言,没有理由这样做。完全跳过values
调用,您将获得一个defaultParams实例,可以在该实例上使用常规属性查找:
for val in getDefaults:
print(val.device_id)
答案 1 :(得分:1)
您不能执行 getDefaults.device_id ,因为 defaultParams.objects.filter 返回匹配对象的列表。
如果确定自己有一场比赛,请执行以下操作。
print
或
您可以遍历列表并使用字典数据。
Calendar
如果要将检索到的对象信息另存为新对象,我建议采用以下方法。
var calendar = Calendar.current
calendar.timeZone = TimeZone(secondsFromGMT: 0)!