python - 从 Django Query 中提取值的正确方法
问题描述
如何将 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
解决方案
values()
显式返回字典列表,因此您需要使用字典语法:val['device_id']
.
但在你的情况下,没有理由这样做。完全跳过values
调用,您将获得一个 defaultParams 实例,您可以在其上使用普通属性查找:
for val in getDefaults:
print(val.device_id)
推荐阅读
- javascript - 构建多个 GET 请求时正确复制 JS 对象(使用 Axios)
- python - 无法在 gunicorn 访问日志文件上获取应用程序日志
- r - 重复对具有不同条件的数据帧进行子集化的最快方法?
- swift - 如何遍历字符串类型的元素
- r - 检测数据帧两列中的循环
- laravel - 从blade.php文件调用时Vue组件不显示文本
- c# - .net core 无法将当前 JSON 数组反序列化为“Microsoft.AspNetCore.Http.IFormFile”类型
- javascript - 无法读取未定义 reactJS 的“属性”
- python-3.x - 即使不应该触发 if 语句,Pandas 也会追加重复的行
- node.js - NodeJS中的TCP套接字通信