gpt4 book ai didi

python - Django ArrayField 追加,避免竞争条件

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

我有一个带有 ArrayField() 的模型,我想向它附加一个值。

我能做到:

self.my_array_field.append("foobar")

但是,这经常会因为竞争条件而失败。

所以我尝试了这样的事情:

self.my_array_field = F('my_array_field') + "foobar"

这个:

self.my_array_field = F('my_array_field').append("foobar")

还有这个:

self.my_array_field = Func(F('my_array_field'), Value("foobar"), function='array_append')

不幸的是,所有这些都完全失败了。

要在 Django 中实现这条 PostGreSQL 语句,你有什么建议?

UPDATE my_model SET my_array_field = array_append(my_array_field, "foobar")

注意这个语句也是等价的:

UPDATE my_model SET my_array_field = my_array_field || "foobar"

最佳答案

实际上,这个解决方案工作正常:

self.my_array_field = Func(F('my_array_field'), Value("foobar"), function='array_append')

关于python - Django ArrayField 追加,避免竞争条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33454113/

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