peewee更新抛出异常'UnknownField'对象没有属性'get_sort_key'

问题描述 投票:0回答:1

码:

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 python:3.7

peewee
1个回答
0
投票

我注意到你在Peewee问题跟踪器上发布了这个GitHub问题。我已经回复了您的机票,并将我的回复粘贴给其他人:

您显然正在使用使用pwiz工具生成的模型。如果pwiz无法确定要用于列的正确字段类型,则它使用占位符“UnknownField”。如果希望能够在查询中使用它,则需要编辑模型定义并用适当的字段类型(例如TextField,IntegerField等)替换UnknownField。

© www.soinside.com 2019 - 2024. All rights reserved.