django - 为什么在 Django 中的索引处保存查询集元素不起作用?
问题描述
我试图在我的查询集的特定索引处保存一个对象,但它似乎不起作用。
我有一个名为 Customer 的模型,我希望将名为 first_name 的字段从 None 更改为某些内容,例如“aa”,我想为索引 0 执行此操作。
代码 1
customers = Customer.objects.filter(first_name=None)
customers[0].first_name = 'aa'
customers[0].save()
代码 2
customers = Customer.objects.filter(first_name=None)
customer = customers[0]
customer.first_name = 'aa'
customer.save()
代码 1 不起作用,但代码 2 起作用。为什么代码 1 不起作用?
解决方案
以下查询返回多个查询集:
customers = Customer.objects.filter(first_name=None)
当你使用
customers[0].first_name = 'aa'
您指示 django 首先设置first_name
具有值的属性(您引用 [0] 的第一个客户)aaa
。customers
当你使用
customer = customers[0]
这意味着您首先将对象分配给客户,customer
以便您可以为对象分配值。
推荐阅读
- r - 如何按R中的特定行名划分列中的所有行
- data-modeling - 数据保险库建模
- octobercms - 在前端使用后端表单 - OctoberCMS
- kentico - 如何强制 Live Url (AbsoluteUrl) 在 Kentico 页面类型上更新
- java - Java Spring Boot:为 Web 应用重置密码
- azure - 从 Azure 管道任务访问 Microsoft.Azure.WebSites 资源提供程序(Microsoft Azure 应用服务)的服务主体
- html - 表格未对齐/无法修复分辨率
- python - RuntimeError:永远不要在任务中调用 result.get()
- python - Python - 重塑分组数据帧数据
- python - pytorch 中的批量光束搜索