base.py 1.54 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
'''
Author: your name
Date: 2021-07-27 20:02:44
LastEditTime: 2021-07-27 20:05:01
LastEditors: your name
Description: In User Settings Edit
FilePath: \evm-store\tools\resources\models\base.py
'''
#!/usr/bin/env python
# -*- coding: utf_8 -*-
wanli's avatar
wanli committed
11 12 13

import uuid
from datetime import datetime
wanli's avatar
wanli committed
14
from application.app import db
wanli's avatar
wanli committed
15

16 17 18
def generate_uuid():
    return uuid.uuid1().hex

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

class PrimaryModel(BaseModel):
wanli's avatar
wanli committed
31
    __abstract__ = True
wanli's avatar
wanli committed
32
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
33
    uuid = db.Column(db.String(64), primary_key=False, default=generate_uuid)
wanli's avatar
wanli committed
34 35

class AutoBaseModel(BaseModel):
wanli's avatar
wanli committed
36
    __abstract__ = True
wanli's avatar
wanli committed
37 38 39 40
    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
41
    __abstract__ = True
42
    id = db.Column(db.String(64), primary_key=True, default=generate_uuid)
wanli's avatar
wanli committed
43 44 45
    sort = db.Column(db.Integer, default=0)

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