为什么在django中无法在索引处保存queryset元素?

时间:2019-01-28 06:00:36

标签: django django-queryset

我正在尝试在查询集的特定索引处保存一个对象,但是它似乎不起作用。

我有一个名为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不起作用?

1 个答案:

答案 0 :(得分:0)

以下查询返回多个查询集:

customers = Customer.objects.filter(first_name=None)

使用时

customers[0].first_name = 'aa'

您指示django在第一个first_name(您用[0]引用的第一个客户)中将aaa属性设置为值customers

使用时

customer = customers[0]

这意味着您将客户的第一个对象分配给customer,以便可以为对象分配值。