【发布时间】:2022-01-13 17:35:33
【问题描述】:
我的更新功能有问题。 我创建了一个查询集来获取一些我存储在变量中的对象。 我在基础上做了一些修改。 我再次执行相同的查询集并将其存储在另一个变量中。
我的 2 个查询集的结果不相等,但 2 个变量是。
def update(self, instance, validated_data):
old_priorities = DiscountPriority.objects.filter(machine__in=instance.machines.all())
print(old_priorities)
# <QuerySet [<DiscountPriority: Priority 1 of a13 on dzafezfdezaaaa>, <DiscountPriority: Priority 1 of a13 on test19>]>
response = super(DiscountSerializer, self).update(instance, validated_data)
current_priorities = DiscountPriority.objects.filter(machine__in=instance.machines.all())
print(current_priorities)
# <QuerySet [<DiscountPriority: Priority 1 of a13 on dzafezfdezaaaa>]>
print(old_priorities)
# <QuerySet [<DiscountPriority: Priority 1 of a13 on dzafezfdezaaaa>]>
【问题讨论】:
-
如果我将
old_priorities = DiscountPriority.objects.filter(machine__in=instance.machines.all())替换为old_priorities = list(DiscountPriority.objects.filter(machine__in=instance.machines.all()))就可以了,但我不明白为什么
标签: django django-orm