base.py 1.27 KB
Newer Older
wanli's avatar
wanli committed
1 2 3 4
# -*- coding: utf-8 -*-

import uuid
from datetime import datetime
wanli's avatar
wanli committed
5
from application.app import db
wanli's avatar
wanli committed
6

wanli's avatar
wanli committed
7
class BaseModel(db.Model):
wanli's avatar
wanli committed
8 9 10 11
    # Flask-SQLAlchemy创建table时,如何声明基类(这个类不会创建表,可以被继承)
    # 方法就是把__abstract__这个属性设置为True,这个类为基类,不会被创建为表!
    __abstract__ = True
    create_at = db.Column(db.DateTime, default=datetime.now)
wanli's avatar
wanli committed
12
    create_by = db.Column(db.String(64))
wanli's avatar
wanli committed
13
    update_at = db.Column(db.DateTime, default=datetime.now)
wanli's avatar
wanli committed
14 15
    update_by = db.Column(db.String(64))
    remarks = db.Column(db.String(255), default="")
wanli's avatar
wanli committed
16
    is_delete = db.Column(db.BOOLEAN, default=0)
wanli's avatar
wanli committed
17 18

class PrimaryModel(BaseModel):
wanli's avatar
wanli committed
19
    __abstract__ = True
wanli's avatar
wanli committed
20 21 22 23
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    uuid = db.Column(db.String(64), primary_key=True, default=uuid.uuid1)

class AutoBaseModel(BaseModel):
wanli's avatar
wanli committed
24
    __abstract__ = True
wanli's avatar
wanli committed
25 26 27 28
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    sort = db.Column(db.Integer, default=0)

class UuidBaseModel(BaseModel):
wanli's avatar
wanli committed
29
    __abstract__ = True
wanli's avatar
wanli committed
30 31 32 33
    id = db.Column(db.String(64), primary_key=True, default=uuid.uuid1)
    sort = db.Column(db.Integer, default=0)

class SortBaseModel(BaseModel):
wanli's avatar
wanli committed
34
    __abstract__ = True
wanli's avatar
wanli committed
35
    sort = db.Column(db.Integer, default=0)