user.py 2.26 KB
Newer Older
wanli's avatar
wanli committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#!/usr/bin/env python
# -*- coding: utf_8 -*-

import uuid
from datetime import datetime, date
from pony.orm import PrimaryKey, Required, Optional, Set, Json
from app import config
from . import fullStackDB

db = fullStackDB.db

class User(db.Entity):
    _table_ = "{}".format(config['TABLE_PREFIX']) + "user"
    id = PrimaryKey(int, auto=True)
    uuid = Required(uuid.UUID, unique=True, default=uuid.uuid1, index=True)
    account = Required(str, unique=True) # 账号
    username = Required(str, max_len=100) # 用户名
    password = Required(str, max_len=64)
    gender = Required(int, size=8) # 性别,未知0 男1 女2
    birthday = Optional(date, default=date.today()) # 使用age会带来age无法随时间变化问题
wanli's avatar
wanli committed
21
    phone = Required(str, max_len=11) # 联系方式
wanli's avatar
wanli committed
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
    email = Optional(str, max_len=100) # 邮箱
    hometown = Optional(str, max_len=50) # 籍贯
    entry_time = Required(datetime, default=datetime.now) # 入职时间
    expire_date = Required(datetime, default=datetime.now) # 劳动合同到期时间
    create_at = Required(datetime, default=datetime.now)
    create_by = Required(int)
    update_at = Required(datetime, default=datetime.now)
    update_by = Required(int)
    delete_at = Optional(datetime)
    delete_by = Optional(int)
    is_delete = Required(bool, default=False)
    sort = Optional(int, size=32, default=0)
    remarks = Optional(str, max_len=255, default="", nullable=True)
    annex_creator = Set('Annex', reverse='create_by')
    annex_updater = Set('Annex', reverse='update_by')
    annex_deleter = Set('Annex', reverse='delete_by')
    apps_creator = Set('Apps', reverse='create_by')
    apps_updater = Set('Apps', reverse='update_by')
    apps_deleter = Set('Apps', reverse='delete_by')
wanli's avatar
wanli committed
41 42 43
    app_users_creator = Set('AppUser', reverse='create_by')
    app_users_updater = Set('AppUser', reverse='update_by')
    app_users_deleter = Set('AppUser', reverse='delete_by')
wanli's avatar
wanli committed
44 45
    build_logs_creator = Set('BuildLogs', reverse='create_by')
    build_logs_updater = Set('BuildLogs', reverse='update_by')
wanli's avatar
wanli committed
46 47 48 49
    build_logs_deleter = Set('BuildLogs', reverse='delete_by')
    framework_creator = Set('Framework', reverse='create_by')
    framework_updater = Set('Framework', reverse='update_by')
    framework_deleter = Set('Framework', reverse='delete_by')