gpt4 book ai didi

python - 在 Django python 中获取数据库对象

转载 作者:行者123 更新时间:2023-11-29 21:00:58 25 4
gpt4 key购买 nike

以下是我的数据库模型:

id | dept | bp | s | o | d | created_by | created_date

deptbp 一起拥有该表的唯一索引。这意味着数据库中同一 deptbp 下始终会有 30 条不同的记录。我试图通过首先获取对象来对记录执行更新功能。以下是我尝试获取对象的方式:

try:
Sod_object = Sod.objects.get(dept=dept_name, bp=bp_name)
except Sod.DoesNotExist:
print "Object doesn't exist"
msg = "Sod doesn't exist!"
else:
for s in Sod_object:
# Do something

但它总是给我 30 条记录(显然)。我怎样才能把它变成一个单一的对象?有什么建议吗?

最佳答案

在 Django 中,数据库中的每个表都会自动拥有一个名为 id 的列。这是默认的主键列,对于表中的每个对象都是唯一的。

所以你可以这样做

Sod_object = Sod.objects.get(id=1)

获取表中的第一个对象。

要更新 dept-bp 组合的所有 30 个对象,您可以按这些值 filter()

sods = Sod.objects.filter(dept=dept_name, bp=bp_name)

然后更新每一项并保存。 Django 将在内部通过 id 记住各个记录。

for sod in sods:
sod.o = 1
sod.save()

关于python - 在 Django python 中获取数据库对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37235431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com