欢迎大家,我有一列包含一个数组,并键入Bigint,我试图更新所需的数组,但出现错误,我该怎么办?
#My column
statistics = ArrayField(BigIntegerField, default=[0, 0, 0, 0, 0, 0])
#My try
await db.execute(MarriagePlayer.update({
MarriagePlayer.statistics[0]: MarriagePlayer.statistics[0] + 1
}).where(
MarriagePlayer.chat_id == msg.receiver_id,
MarriagePlayer.user_id << [msg.sender_id, p.loved]))
和我的错误:
[MarriagePlayer.statistics [0]:MarriagePlayer.statistics [0] + 1
TypeError:无法散列的类型:'ObjectSlice'
[缺少一种方法实现,它阻止了切片表达式用作dict键。现在已在母版中修复:
https://github.com/coleifer/peewee/commit/7eb7498018b4265ce7e79c3e2b0b90a93d622d45
此修复程序也将包含在下一发行版中。