【Flask】Column常用参数

### Column常用参数:
1. primary_key:设置某个字段为主键。
2. autoincrement:设置这个字段为自动增长的。
3. default:设置某个字段的默认值。在发表时间这些字段上面经常用。
4. nullable:指定某个字段是否为空。默认值是True,就是可以为空。
5. unique:指定某个字段的值是否唯一。默认是False。
6. onupdate:在数据更新的时候会调用这个参数指定的值或者函数。在第一次插入这条数据的时候,不会用onupdate的值,只会使用default的值。常用的就是`update_time`(每次更新数据的时候都要更新的值)。
7. name:指定ORM模型中某个属性映射到表中的字段名。如果不指定,那么会使用这个属性的名字来作为字段名。如果指定了,就会使用指定的这个值作为参数。这个参数也可以当作位置参数,在第1个参数来指定。

 1 # coding:utf-8
 2 # Author: liangjun.chen
 3 
 4 from datetime import date
 5 from datetime import datetime
 6 from datetime import time
 7 
 8 from sqlalchemy import create_engine, Column, Integer, String, Float, Boolean, DECIMAL, Enum, Date, DateTime, Time, Text
 9 from sqlalchemy.dialects.mysql import LONGTEXT
10 
11 from sqlalchemy.ext.declarative import declarative_base
12 from sqlalchemy.orm import sessionmaker
13 
14 HOSTNAME = '127.0.0.1'
15 PORT = 3306
16 DATABASE = 'sqlalchemy_first'
17 USERNAME = 'root'
18 PASSWORD = '123456'
19 
20 DB_URI = 'mysql+pymysql://{username}:{password}@{host}:{port}/{dbname}?charset=utf8'.format(
21         username=USERNAME, password=PASSWORD, host=HOSTNAME, port=PORT, dbname=DATABASE
22 )
23 engine = create_engine(DB_URI)
24 Base = declarative_base(engine)
25 Session = sessionmaker(engine)
26 session = Session()
27 
28 
29 class Article(Base):
30     __tablename__ = 'article'
31     id = Column(Integer, primary_key=True, autoincrement=True)
32     read_count = Column(Integer, default=0)
33     title = Column(String(50), nullable=False)
34     cellphone = Column(String(11), unique=True)
35     create_time = Column(DateTime, default=datetime.now)
36     update_time = Column(DateTime, onupdate=datetime.now, default=datetime.now)
37     title2 = Column(String(50), name='my_title')
38 
39 Base.metadata.drop_all()
40 Base.metadata.create_all()
41 article = Article(read_count=100, title='python flask programming', cellphone='12345678909')
42 session.add(article)
43 # article = session.query(Article).first()
44 # article.update_time = datetime.now()
45 session.commit()
原文地址:https://www.cnblogs.com/chen0427/p/8635470.html