SqlAlchemy和PostgreSql日期时间更新



我有一个PostgreSql表,我想在其中更新时间戳类型的属性与时区(我也尝试没有时间戳,但它不起作用)。我使用SqlAlchemy session来实现这个目的。

我获取一个现有的记录,并更新它与当前时间戳:

from model import Table
from dbconf import session
t=session.query(Table).filter(Table.id==1).first()
t.available=datetime.now()
session.add(t)
session.commit()

执行此命令后,数据库中没有任何变化。我做错了什么?

我可以假设你有这个表的模型,你应该添加新的更新方法,像这样:

class table(Base):
    __tablename__ = 'table'
    id = Column(Integer, primary_key=True)
    available = Column(DateTime)
    asd = Column(Unicode(255))

    def update(self, available=None, asd = None):  #etc.
        if available:
            self.available = available
        if asd:
            self.asd = asd

,然后像这样更新:

import transaction
with transaction.manager:
    t=session.query(Table).filter(Table.id==1).first() #search the object what you want to update
    t.update(available=datetime.now()) #you can update only one or several cell like this

相关内容

  • 没有找到相关文章

最新更新