sqlalchemy datetime 如何相加
时间: 2024-05-14 21:18:28 浏览: 129
你可以使用 `datetime.timedelta` 对 `datetime` 进行相加。
示例代码:
```python
from datetime import datetime, timedelta
from sqlalchemy import create_engine, Column, Integer, DateTime
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
# 创建连接
engine = create_engine('postgresql://username:password@host:port/dbname')
Session = sessionmaker(bind=engine)
Base = declarative_base()
# 定义模型类
class MyModel(Base):
__tablename__ = 'my_table'
id = Column(Integer, primary_key=True)
created_at = Column(DateTime, default=datetime.now)
# 相加并插入到数据库中
with Session() as session:
now = datetime.now()
delta = timedelta(days=1)
future = now + delta
obj = MyModel(created_at=future)
session.add(obj)
session.commit()
```
在上面的示例中,我们定义了一个 `MyModel` 模型类,它有一个 `created_at` 字段,类型为 `DateTime`。我们使用 `datetime.now()` 获取当前时间,然后使用 `timedelta` 将它加上一天,得到一个未来的时间。最后将这个未来的时间插入到数据库中。
需要注意的是,不同的数据库的 `DateTime` 类型的精度和范围可能有所不同,具体请查阅文档。
阅读全文