SQLAlchemy:错误绑定参数0可能不支持typ

2024-10-01 15:42:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用以下代码创建表的实例:

c = 'dcoh92j'
new_comment = Comment(rcomment = c, rtime = datetime.datetime.now())

但我收到一个错误:

^{pr2}$

下面是我的表架构:

class Comment(Base):
    __tablename__ = 'comments'
    id = Column(Integer, Sequence('comment_id_seq'), primary_key=True)
    rcomment = Column(String)
    rtime = Column(String)

    def __repr__(self):
        return "<Comment(rcomment='{0}', rtime='(1)')>".format(self.rcomment, self.rtime)
  1. 为什么SQLAlchemy认为我试图插入数据库的参数是(Comment(id='dcoh92j'), datetime.datetime(2017, 1, 20, 12, 38, 38, 836433)?而不是'dcoh92j'2017, 1, 20, 12, 38, 38, 836433
  2. 这是从哪里来的?在

完整代码here。在


Tags: 实例代码selfidnewdatetimestring错误
2条回答

您将rtime = Column(String)定义为字符串字段,但datetime.datetime.utcnow()是一个日期时间对象。因此,使用DateTime代替字符串字段:

from sqlalchemy import DateTime
rtime = Column(DateTime)

或将日期时间对象转换为字符串:

^{pr2}$

好吧,我终于弄明白了。当然,经过3个小时的bug测试和拔出我的头发之后,只需在str()标记中包装cdatetime.datetime.now()。在

修复:

new_comment = Comment(rcomment = str(c), rtime = str(datetime.datetime.now()))

相关问题 更多 >

    热门问题