Как обновить необходимый массив в столбце базы данных (целое число) - PullRequest
0 голосов
/ 23 апреля 2020

Приветствую всех, у меня есть столбец с массивом и типом 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'

1 Ответ

1 голос
/ 24 апреля 2020

В реализации отсутствовал метод, который не позволял использовать выражения секций в качестве ключей dict. Теперь это исправлено в master:

https://github.com/coleifer/peewee/commit/7eb7498018b4265ce7e79c3e2b0b90a93d622d45

Исправление будет включено и в следующую версию.

...