sqlalchemy sqlite DateTime default 无效

2014-07-09 09:39:54 +08:00
 Zuckonit
#!/usr/bin/env python
# encoding: utf-8

from datetime import datetime
from base import Base

from sqlalchemy import Column
from sqlalchemy import DateTime, String, Integer
from datetime import
class Info(Base):
....__tablename__ = ‘file_info'

....id = Column(Integer, primary_key=True, autoincrement=True, nullable=False)
....md5 = Column(String(32), nullable=False, index=True)
....first_time = Column(DateTime, nullable=False, default=datetime.now)
....last_time = Column(DateTime, nullable=False, default=datetime.now)

通过这个模型建立表后,
.schema是这样的
CREATE TABLE tb_sample_info (
........id INTEGER NOT NULL,
........md5 VARCHAR(32) NOT NULL,
........first_time DATETIME,
........last_time DATETIME,
........PRIMARY KEY (id)
);
为啥firt_time, last_time没default时间
6506 次点击
所在节点    Python
7 条回复
humiaozuzu
2014-07-09 09:43:40 +08:00
因为是在 ORM 层做的,不是数据库系统中
Zuckonit
2014-07-09 10:00:43 +08:00
orm层不能做?
Zuckonit
2014-07-09 10:00:54 +08:00
@humiaozuzu orm层不能做?
Zuckonit
2014-07-09 10:17:19 +08:00
PS: CREATE TABLE tb_sample_info 这个应该是CREATE TABLE file_info
Ever
2014-07-09 10:28:06 +08:00
default是插入时sqlalchemy自己干.
server_default才是写在sql创建时让db干的.
Zuckonit
2014-07-09 10:36:04 +08:00
@Ever 赞!
Zuckonit
2014-07-15 18:37:29 +08:00
@Ever
通过server_default=func.now()设置为当前时间, 但跟服务器上的时间相差8个小时, why?如何让其一致

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/121698

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX