0

我 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”。如果您使用 {} 符号而不是 $,那么一切正常。我想知道为什么以及我做错了什么,尽管从文档来看我做的一切都是正确的。谢谢。新年和圣诞节快乐!

4

1 回答 1

1

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

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

于 2020-01-22T11:13:15.113 回答