base.py 1.58 KB
Newer Older
1 2 3 4 5 6 7 8
'''
Author: your name
Date: 2021-07-15 09:33:39
LastEditTime: 2021-07-28 09:38:58
LastEditors: your name
Description: In User Settings Edit
FilePath: \evm-store\tools\build_out\models\base.py
'''
9 10
#!/usr/bin/env python
# -*- coding: utf_8 -*-
wanli's avatar
wanli committed
11 12 13 14 15

import uuid
from datetime import datetime
from application.app import db

wanli's avatar
wanli committed
16 17 18
def generate_uuid():
    return uuid.uuid1().hex

wanli's avatar
wanli committed
19 20 21 22 23
class BaseModel(db.Model):
    # Flask-SQLAlchemy创建table时,如何声明基类(这个类不会创建表,可以被继承)
    # 方法就是把__abstract__这个属性设置为True,这个类为基类,不会被创建为表!
    __abstract__ = True
    create_at = db.Column(db.DateTime, default=datetime.now)
24
    create_by = db.Column(db.String(64))
wanli's avatar
wanli committed
25
    update_at = db.Column(db.DateTime, default=datetime.now)
26
    update_by = db.Column(db.String(64))
wanli's avatar
wanli committed
27
    remarks = db.Column(db.String(255), default="")
28
    is_delete = db.Column(db.BOOLEAN, default=0)
wanli's avatar
wanli committed
29 30 31 32

class PrimaryModel(BaseModel):
    __abstract__ = True
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
wanli's avatar
wanli committed
33
    uuid = db.Column(db.String(64), primary_key=False, default=generate_uuid)
34
    sort = db.Column(db.Integer, default=0)
wanli's avatar
wanli committed
35 36 37 38 39 40 41 42

class AutoBaseModel(BaseModel):
    __abstract__ = True
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    sort = db.Column(db.Integer, default=0)

class UuidBaseModel(BaseModel):
    __abstract__ = True
wanli's avatar
wanli committed
43
    id = db.Column(db.String(64), primary_key=True, default=generate_uuid)
wanli's avatar
wanli committed
44 45 46 47 48
    sort = db.Column(db.Integer, default=0)

class SortBaseModel(BaseModel):
    __abstract__ = True
    sort = db.Column(db.Integer, default=0)