python - sqlalchemy 没有设置时间戳默认值

标签 python mysql datetime sqlalchemy

SQLAlchemy 不遵守 default=datetime.datetime.utcnowdefault=func.now() (我都试过了)DateTime列。

python :

class DataStuff(BASE): 
    """some data""" 
    __tablename__ = 'datastuff' 
    _id = Column(Integer, primary_key=True) 
    _name = Column(String(64)) 
    json = Column(sqlalchemy.UnicodeText()) 
    _timestamp = Column(DateTime, default=datetime.datetime.utcnow) 

MySQL:

mysql> describe datastuff;
+---------------+--------------+------+-----+---------+----------------+
| Field         | Type         | Null | Key | Default | Extra          |
+---------------+--------------+------+-----+---------+----------------+
| _id           | int(11)      | NO   | PRI | NULL    | auto_increment |
| _name         | varchar(64)  | YES  |     | NULL    |                |
| json          | text         | YES  |     | NULL    |                |
| _timestamp    | datetime     | YES  |     | NULL    |                |

最佳答案

根据文档,当所需操作是在 CREATE TABLE 语句中的列上提供默认值时,使用 server_default 是可行的方法。

http://docs.sqlalchemy.org/en/rel_1_0/core/defaults.html

我最终使用 server_defaultfunc.now() 函数而不是 default=datetime.datetime.utcnow

新代码:

from sqlalchemy import func
_timestamp = Column(DateTime, server_default=func.now()) 

结果:

+---------------+--------------+------+-----+-------------------+----------------+
| Field         | Type         | Null | Key | Default           | Extra          |
+---------------+--------------+------+-----+-------------------+----------------+
| _timestamp    | datetime     | YES  |     | CURRENT_TIMESTAMP |                |

中提琴

关于python - sqlalchemy 没有设置时间戳默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31567041/

相关文章:

python - 如何为列表中的每个变量分配一个数字,然后将相同变量的数字相加?

python - 有没有办法使用 googlesheets api 和 gspread 格式化多个工作表

python - 将具有开始的行 - 结束转换为具有 TimeIndex 的数据帧的性能问题

java - 如何从java保存SQL Server 2014中的日期时间列值

php - php/mysql 查询的值不正确

php - 在 PHP 中获取给定一周的开始和结束天数

python - 在 python 中的 __str__ 方法上调用 super()?

python - 从文件中读取列表列表作为 python 中的列表列表

php - MySQL查询变量中的php变量?

PHP 循环语法错误回显选择