如何更新数据库列中所需的数组(整数)
How Update the required array in the database column (Integer)
欢迎大家,我有一个包含数组和 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: unhashable type: 'ObjectSlice'
缺少方法实现,阻止切片表达式用作字典键。现在已在 master 中修复:
https://github.com/coleifer/peewee/commit/7eb7498018b4265ce7e79c3e2b0b90a93d622d45
此修复程序也将包含在下一个版本中。
欢迎大家,我有一个包含数组和 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: unhashable type: 'ObjectSlice'
缺少方法实现,阻止切片表达式用作字典键。现在已在 master 中修复:
https://github.com/coleifer/peewee/commit/7eb7498018b4265ce7e79c3e2b0b90a93d622d45
此修复程序也将包含在下一个版本中。