peewee update выбросило исключение Объект UnknownField не имеет атрибута get_sort_key - PullRequest
0 голосов
/ 30 апреля 2019

код:

query = Order.update(is_review=1, review_time=review_time).where(Order.order_sn == order_sn)
query.execute()

Исключение:

cursor = database.execute(self)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\peewee.py", line 2952, in execute
    sql, params = ctx.sql(query).query()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\peewee.py", line 601, in sql
    return obj.__sql__(self)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\peewee.py", line 2363, in __sql__
    for k, v in sorted(self._update.items(), key=ctx.column_sort_key):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\peewee.py", line 555, in column_sort_key
    return item[0].get_sort_key(self)
AttributeError: 'UnknownField' object has no attribute 'get_sort_key'

окружающая среда: версия peewee: 3.9.5 питон: 3,7

1 Ответ

0 голосов
/ 30 апреля 2019

Я заметил, что вы опубликовали это как проблему GitHub на трекер проблем Peewee.Я ответил на ваш тикет и добавлю здесь свой ответ для всех остальных:

Вы явно используете модели, созданные с помощью инструмента pwiz.Если pwiz не может определить правильный тип поля для столбца, он использует заполнитель «UnknownField».Вам нужно будет отредактировать определения модели и заменить UnknownField на соответствующий тип поля (например, TextField, IntegerField и т. Д.), Если вы хотите использовать его в запросах.

...