【问题标题】:asyncpg.exceptions.DataError: invalid input for query argumentasyncpg.exceptions.DataError:查询参数的输入无效
【发布时间】:2020-01-22 19:13:15
【问题描述】:

我 asyncpg 使用库通过池连接到 mydb。要执行此代码块,我遇到了一个错误:asyncpg.exception.Data Error: invalid input for query argument $10: '2019-12-31' ('str' object has no attribute 'toordinal')

我的代码:

await db.execute("""
            insert into hs.public.users
            (u_login,.....,u_reg_date)
            values
            ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10)
        """, data ['email'].split('@')[0],....., datetime.now().strftime('%Y-%m-%d'))

在我的数据库中,“u_reg_date”字段的类型为“date”。如果您使用 {} 符号而不是 $,那么一切正常。我想知道为什么以及我做错了什么,尽管从文档来看我做的一切都是正确的。谢谢。新年和圣诞节快乐!

【问题讨论】:

    标签: python-3.7 asyncpg


    【解决方案1】:

    只需将datetime.now().strftime('%Y-%m-%d') 替换为datetime.date.today()

    您需要传递datetime.date 对象而不是字符串。

    【讨论】:

      猜你喜欢
      • 2021-10-02
      • 1970-01-01
      • 2019-07-19
      • 2013-03-10
      • 1970-01-01
      • 2019-05-31
      • 1970-01-01
      • 2021-04-28
      • 1970-01-01
      相关资源
      最近更新 更多