gpt4 book ai didi

python - Peewee 中的模型创建后不为空

转载 作者:行者123 更新时间:2023-11-30 22:37:18 25 4
gpt4 key购买 nike

我有一个模型,其中有一个名为 data 的字段,其类型为 jsonb:

class Post(Model):
...
data: Dict[str,Any] = BinaryJSONField(default={},
constraints=[Check("jsonb_typeof(data) = 'object'")])

然后,在两个不同的测试用例中,我创建帖子,不知何故,在第二个测试中,我在创建后立即在 post.data 中看到第一个测试的数据。

post = Post()
print(post.data)
# This prints {} in first test but a non-empty dict in second test

我应该在哪里查找问题?

<小时/>

这并不令我惊讶(这是最明智的半解释),但我刚刚发现新创建的实例的 id(post.data) 与中的数字相同之前的测试。所以 Peewee 实际上返回了一个旧对象的字段,而不是新对象。我现在怀疑 Peewee 的缓存或其他东西中存在某种错误。

最佳答案

使用可变对象(“{}”)作为关键字参数通常是一种不好的做法。我建议将默认值更改为“无”。

关于python - Peewee 中的模型创建后不为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43916162/

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