码迷,mamicode.com
首页 > 数据库 > 详细

Flask SQLAlchemy 表字段默认值

时间:2015-01-07 07:05:51      阅读:1165      评论:0      收藏:0      [点我收藏+]

标签:default   server_defalut   flask   sqlalchemy   

在网上查到的SQLAlchemy设置字段默认值的方法都是类似如下方法:

from sqlalchemy.sql.sqltypes import TIMESTAMP

class Test(db.Model):
    id = db.Column(db.Integer, primary_key = True)
    name = db.Column(db.String(32))
    create_date = db.Column(TIMESTAMP, default = datetime.datetime)


但这种方法其实这种方法根本就没有在数据库里面设置默认值,只是使用了SQLAlchemy Model类提交数据时添加上去的值,并不适合需要取数据库所有服务器时间的场合。

技术分享



后来,发现一种使用SQLAlchemy模型直接在数据库设置默认值的方法:

#mysql 日期设置默认值必须使用timestamp类型
from sqlalchemy.sql.sqltypes import TIMESTAMP

#func用来生成数据库函数代码,跟踪进源代码看一***释就明白了
from sqlalchemy.sql import func

class Test(db.Model):
    id = db.Column(db.Integer, primary_key = True)
    name = db.Column(db.String(32))
    create_date = db.Column(TIMESTAMP, server_default = func.now()) #注意这里是server_default


最新数据库表效果:

技术分享

本文出自 “自由自我” 博客,请务必保留此出处http://hhuayuan.blog.51cto.com/1630327/1599981

Flask SQLAlchemy 表字段默认值

标签:default   server_defalut   flask   sqlalchemy   

原文地址:http://hhuayuan.blog.51cto.com/1630327/1599981

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!