- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
您好,我有模型对象列表: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/
我正在尝试使用 order_with_respect_to Django Meta option并在管理员中重新排序项目。 我找到了 https://github.com/bfirsh/django-
您好,我有模型对象列表:my_objects,它应该保存在数据库中。此模型在其 Meta 类中具有 order_with_respect_to 属性。 当我尝试 bulk_create 这个列表时,我
我是一名优秀的程序员,十分优秀!