gpt4 book ai didi

python - Django - 具有 order_with_respect_to 属性的 bulk_create 对象

转载 作者:太空狗 更新时间:2023-10-30 01:37:49 25 4
gpt4 key购买 nike

您好,我有模型对象列表:my_objects,它应该保存在数据库中。此模型在其 Meta 类中具有 order_with_respect_to 属性。

当我尝试 bulk_create 这个列表时,我得到了:

null value in column "_order" violates not-null constraint" during bulk_create

当我只是遍历元素并对每个元素调用 save() 时。一切都很好,但是这样的顺序数据库访问让我不满意......

我尝试调用 signals.pre_save.send 函数,但这并没有改变情况。

当我在 my_objects 的每个 signle 元素上调用 _save_table 时,这起作用了,但是 _save_table 中最重的部分save() 方法,所以我一无所获......

是否有可能只用一个数据库连接来保存一批 django 对象?

我正在使用 postgresql

最佳答案

这只是一个字段,您可以手动设置“_order”或在bulk_create之前计算。

# Model
class Product(models.Model):
name = models.CharField(max_length=255)

# Bulk create example
# Data
product_data_list = [{"name": "Apple"}, {"name": "Potato"}]

# Add "_order" field for each product
for index, product_data in enumerate(product_data_list):
product_data["_order"] = index

# Create
Product.objects.bulk_create(Product(**product_data) for product_data in product_data_list)

关于python - Django - 具有 order_with_respect_to 属性的 bulk_create 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32182267/

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