gpt4 book ai didi

python - 从 django bulk_create 选择/查询对象?

转载 作者:行者123 更新时间:2023-11-28 18:52:12 49 4
gpt4 key购买 nike

如果我使用 bulk_create 插入对象:

objList = [a, b, c,] #none are saved
model.objects.bulk_create(objList)

对象的 ID 不会更新(参见 https://docs.djangoproject.com/en/dev/ref/models/querysets/#bulk-create )。所以我不能把这些家伙当作外键对象。我想在它们批量创建后从数据库中查询它们,然后将它们用作外键对象,但我没有它们的 ID 来查询它们。如何从数据库中查询这些对象(假设列中可能有重复值而不是 id)?或者是否有更好的方法将批量创建的项目作为外键?

最佳答案

如果您只有三个对象,如您的示例所示,您可能希望对每个对象分别调用保存,如果需要原子性,则将调用包装在一个事务中。

如果还有更多,这可能是使用 bulk_create 的原因,您可能会循环遍历它们并在每个上调用保存。同样,如果需要,您可以将其包装在事务中。不过,有人可能不喜欢这个选项,因为运行大量的插入查询对于某些数据库设置来说可能是一个问题。

或者,黑客可以向对象添加一些已知的唯一标识符,以便您可以在保存后重新查询这些标识符。

关于python - 从 django bulk_create 选择/查询对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10799267/

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