class Students(db.Model): """学生表模型类""" __tablename__ = "students" id = db.Column(INTEGER, primary_key=True) # id主键 sno = db.Column(INTEGER, unique=True, nullable=False) # 学号 sname = db.Column(VARCHAR(20), nullable=False) # 姓名 ssex = db.Column(TINYINT(1), nullable=False) # 性别 endate = db.Column(DATE, nullable=False) # 入学日期 nativeplace = db.Column(VARCHAR(100), nullable=False) # 籍贯 birthday = db.Column(DATE, nullable=False) # 生日 password = db.Column(CHAR(32), nullable=False) # 密码 tel = db.Column(CHAR(11), nullable=False) # 电话 degree = db.Column(VARCHAR(20), nullable=False) # 学位信息 pid = db.Column(VARCHAR(30), nullable=False) # 身份证号 lid = db.Column(INTEGER, db.ForeignKey("levels.id")) # 年级id caid = db.Column(INTEGER, db.ForeignKey("campuses.id")) # 校区id collid = db.Column(INTEGER, db.ForeignKey("colleges.id")) # 学院id clid = db.Column(INTEGER, db.ForeignKey("classes.id")) # 班级id selcourses = db.relationship("Selcourses", backref="student") achievements = db.relationship("Achievements", backref="student") def set_pwd(self, pwd): self.password = Encryption.md5(pwd) def set_pid(self, pid): self.pid = Encryption.base64_encode(pid) def __repr__(self): return str(self.sno) + ":" + self.sname
class TempFileList(Base): __tablename__ = 'tempfilelist' key = Column(CHAR(40, collation='utf8_unicode_ci'), primary_key=True) filename = Column(TEXT(charset='utf8'), nullable=False) content_type = Column(TEXT(charset='utf8'), nullable=False) created = Column(TIMESTAMP, default=datetime.utcnow) author_key = Column(CHAR(40, collation='utf8_unicode_ci'), nullable=False) def __init__(self, key, filename, content_type, author_key, **kwargs): self.key = key self.filename = filename self.content_type = content_type self.author_key = author_key def __repr__(self): return 'TempFileList(%s ,%s)' % \ (self.key,self.filename) @classmethod def by_key(cls, key, sql_session): q = sql_session.query(cls) return q.filter(cls.key == key) def to_dict(self): return { 'key': self.key, 'filename': self.filename, 'path': self.key, 'filetype': 'file', }
class HeartRecharge(Base): __tablename__ = 'heart_recharges' google_purchase_token = Column(CHAR(100)) google_order_id = Column(CHAR(100)) amount = Column(Integer, nullable=False) type = Column(CHAR(20), nullable=False) created_at = Column(DATETIME) TYPE_GOOGLE = 'GOOGLE' TYPE_APPLE = 'APPLE' def __init__(self, **kwargs): super().__init__(**kwargs) self.created_at = datetime.now() def json(self): return { 'id': self.id, 'google_purchase_token': self.google_purchase_token, 'google_order_id': self.google_order_id, 'type': self.type, 'created_at': DateTimeHelper.full_datetime(self.created_at) }
class History(BaseModel): __tablename__ = 'history' __table_args__ = { 'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8mb4', 'schema': 'poem' } id = Column(INTEGER, primary_key=True, autoincrement=True, comment="id") user_id = Column(INTEGER, nullable=False, comment="user id") poem_id = Column(INTEGER, nullable=False, comment="poem id") ip = Column(CHAR(20), default="", comment="ip地址") weather = Column(VARCHAR(512), default="", comment="天气情况") addr = Column(VARCHAR(512), default="", comment="所在位置") star = Column(SMALLINT, nullable=False, default=0, comment="是否点赞") reason = Column(CHAR(50), default="", comment="数据生成原因") type = Column(SMALLINT, nullable=False, comment="数据是真是假") create_time = Column(DateTime, default=datetime.datetime.now(), comment="创建时间") UniqueConstraint(user_id, poem_id) def __init__(self, **kwargs): super(History, self).__init__(**kwargs)
class Course(Base): __tablename__ = "course" courseDescriptor = Column(VARCHAR(256), primary_key=True) courseName = Column(VARCHAR(200), nullable=False) courseId = Column(CHAR(20), nullable=False) credit = Column(NUMERIC(3, 1), nullable=False) semester = Column(CHAR(10), nullable=False) startTime = Column(DATE, nullable=False) endTime = Column(DATE, nullable=False) courseStart = Column(TIME) courseEnd = Column(TIME) hotIndex = Column(INTEGER, nullable=False) Image = Column(VARCHAR(256), nullable=False) description = Column(VARCHAR(1000), nullable=False) def __init__(self, course_descriptor, course_id, credit, semester, start_time, end_time, course_start, course_end, hot_index, image, description, cname): self.courseDescriptor = course_descriptor self.courseId = course_id self.credit = credit self.semester = semester self.startTime = start_time self.endTime = end_time self.courseStart = course_start self.courseEnd = course_end self.hotIndex = hot_index self.Image = image self.description = description self.courseName = cname
class Blacklist(Base): __tablename__ = 'blacklist' PARTY_GOOGLE = 'GOOGLE' PARTY_KAKAO = 'KAKAO' PARTY_NAVER = 'NAVER' KIND_BAN = 'BAN' KIND_RESIGN = 'RESIGN' phone = Column(TEXT) party_id = Column(TEXT) created_at = Column(DATETIME) until = Column(DATE) party_name = Column(CHAR(20)) # KAKAO , GOOGLE, FACEBOOK 이 있음. kind = Column(CHAR(10)) # BAN (블랙 당함) 이랑 RESIGN (일반 탈퇴) def __init__(self, user, **kwargs): super().__init__(**kwargs) if user.oauth.__tablename__.endswith('google'): self.party_name = self.PARTY_GOOGLE elif user.oauth.__tablename__.endswith('kakao'): self.party_name = self.PARTY_KAKAO elif user.oauth.__tablename__.endswith('naver'): self.party_name = self.PARTY_NAVER self.party_id = user.oauth.party_id self.created_at = datetime.now() self.phone = user.phone
class User(Base): __tablename__ = 'users' key = Column(CHAR(40, collation='utf8_unicode_ci'), primary_key=True) account = Column(CHAR(20, collation='utf8_unicode_ci'), nullable=False) passwd = Column(CHAR(90, collation='utf8_unicode_ci')) name = Column(VARCHAR(30, collation='utf8_unicode_ci'), nullable=False) identity = Column(ENUM('學生', '教師', charset='utf8'), nullable=False) admin = Column(BOOLEAN, nullable=False) def __init__(self, account, passwd, name, identity='學生', admin=False, **kwargs): self.key = uuid.uuid3(uuid.uuid1(), account.encode()).hex self.account = account self.name = name self.identity = identity self.admin = admin self.passwd = self.hash_passwd(self.account, passwd) @staticmethod def make_salt(): return ''.join(random.choice(string.letters) for i in xrange(5)) @classmethod def hash_passwd(cls, account, passwd, salt=''): if not salt: salt = cls.make_salt() h = hashlib.sha256(account + passwd + salt).hexdigest() return '%s,%s' % (h, salt) def check_passwd(self, passwd): salt = self.passwd.split(',')[1] return self.passwd == self.hash_passwd(self.account, passwd, salt) @classmethod def by_key(cls, key, sql_session): q = sql_session.query(cls) return q.filter(cls.key == key) def to_dict(self): return { 'key': self.key, 'name': self.name, 'account': self.account, 'admin': self.admin, 'identity': self.identity, } def to_dict_str(self): _l = [] _map = self.to_dict() for i in _map: _l.append("'%s':'%s'" % (i, _map[i])) return '{%s}' % ','.join(_l)
class TestDomain(MysqlBase): name = Column(VARCHAR(length=64)) dis_name = Column(VARCHAR(length=64)) ip = Column('ip', CHAR(length=64)) role = Column('role', INTEGER()) type = Column('type', INTEGER()) ip2 = Column('ip2', CHAR(length=64))
def get_partner_list(): # 获取请求参数 draw = request.args['draw'] start = request.args['start'] length = request.args['length'] search = request.args['search'] order_name = request.args['order_name'] order = request.args['order'] # 查询 query = Partner.query \ .outerjoin(Stb, Partner.uuid == Stb.partner_uuid) \ .with_entities(Partner.uuid, Partner.name, Partner.cname, Partner.logo_url, Partner.create_time, Partner.update_time) \ .add_columns(func.count(Stb.sn).label('stb')) \ .group_by(Partner.uuid) # 搜索 if search: query = query.filter( or_(Partner.name.like('%' + search + '%'), Partner.cname.like('%' + search + '%'))) # 排序 if order == 'asc': if order_name == 'cname': query = query.order_by(cast(Partner.cname, CHAR(charset='gbk'))) else: query = query.order_by(order_name) else: if order_name == 'cname': query = query.order_by( desc(cast(Partner.cname, CHAR(charset='gbk')))) else: query = query.order_by(desc(order_name)) # 记录总数 total = query.count() # 分页 query = query.paginate(int(start) / int(length) + 1, int(length), False) # 返回datatable数据 data = [{ 'uuid': q.uuid, 'name': q.name, 'cname': q.cname, 'logo_url': q.logo_url, 'stb': q.stb, 'create_time': q.create_time, 'update_time': q.update_time } for q in query.items] return jsonify({ 'draw': int(draw), 'recordsTotal': total, 'recordsFiltered': total, 'data': data })
class ShortUrl(Base): __tablename__ = 'shorturl' id = Column(BIGINT, primary_key=True) url = Column(VARCHAR(255), unique=True, nullable=False) code = Column(CHAR(8), unique=True, nullable=False) uuid = Column(CHAR(32), unique=True, nullable=False) createDAt = Column(DATETIME, nullable=False) updatedAt = Column(DATETIME, nullable=False)
class MsgTimeoutRecord(PluginTableBase): """Rpc call timeout message recode""" record_time = sa.Column(BIGINT(unsigned=True), nullable=False, default=0, primary_key=True) msg_id = sa.Column(CHAR(32), nullable=False) queue_name = sa.Column(CHAR(38), nullable=False) raw_message = sa.Column(MEDIUMBLOB, nullable=True, default=None) __table_args__ = (MyISAMTableBase.__table_args__)
class CourseDetail(Base): __tablename__ = 'course_detail' id = Column(INTEGER, primary_key=True) section_md5 = Column(CHAR(127)) type = Column(CHAR(127)) width = Column(INTEGER) m3u8 = Column(MEDIUMTEXT) m3u8_full = Column(MEDIUMTEXT) aes_key = Column(TEXT) has_download = Column(BOOLEAN)
class VcodeModel(BaseModel): __tablename__ = "vcode" vcode_id = Column(String(64), unique=True, comment="验证码ID") mobile = Column(CHAR(12), nullable=False, comment="手机号码") vcode = Column(CHAR(6), comment="验证码") type = Column(Integer, comment="验证码类型 0)注册 1)更新密码") expire_at = Column(DateTime, comment="验证码过期时间") status = Column(Integer, default=0, comment="验证码状态 0)待验证 1)已验证 2)已过期") def __init__(self, *args, **kwargs): super(VcodeModel, self).__init__(*args, **kwargs) self.vcode_id = self.uuid()
class StockEmployeeInfo(Base): __tablename__ = 'stock_employee_info' code = Column(CHAR(20), primary_key=True, nullable=False) name = Column(CHAR(255), primary_key=True, nullable=False) end_date = Column(Date, primary_key=True, nullable=False) pub_date = Column(Date) employee = Column(Float(asdecimal=True)) retirement = Column(Text) graduate_rate = Column(Float(asdecimal=True)) college_rate = Column(Float(asdecimal=True)) middle_rate = Column(Float(asdecimal=True))
class TStore(Base): ''' 商户表 ''' __tablename__ = 't_store' store_id = Column(INTEGER(11)) name = NotNullColumn(VARCHAR(128)) st = NotNullColumn(CHAR(5)) ed = NotNullColumn(CHAR(5)) phone = NotNullColumn(VARCHAR(32)) passwd = NotNullColumn(VARCHAR(32)) status = NotNullColumn(TINYINT(1))
class TBillRoom(object): ''' 房费账单表 ''' order_id = Column(INTEGER(11), server_default='0') bill_id = Column(INTEGER(11), server_default='0') # 账单ID room_id = Column(INTEGER(11), server_default='0') fee_id = Column(INTEGER(11), server_default='0') # 计费方式ID pack_id = Column(INTEGER(11), server_default='0') # 套餐ID st = NotNullColumn(CHAR(16)) # 开始时间 ed = NotNullColumn(CHAR(16)) # 结束时间 minute = Column(INTEGER(11), server_default='0') # 消费时长 money = Column(INTEGER(11), server_default='0') # 金额 md = Column(TINYINT(1), server_default='1') # 计费方式:1计时/2套餐
class TRoomFee(Base): ''' 计费表 ''' __tablename__ = 't_room_fee' store_id = Column(INTEGER(11)) rt_id = Column(INTEGER(11), server_default='0') st = Column(CHAR(5), server_default='') ed = Column(CHAR(5), server_default='') fee = Column(INTEGER(11), server_default='0') day_or_holiday = Column(VARCHAR(10), server_default='') # 周几1-7/节假日 md = Column(ENUM('day', 'holiday'), server_default='day') # 类型:周几/节假日 state = Column(TINYINT(1), server_default='1') # 状态:1有效/2删除
class UserAccountModel(BaseModel): __tablename__ = "user_account" status_on = '1' # 在用 status_off = '0' # 注销 source_type_1 = '1' # pc source_type_2 = '2' # wap source_type_3 = '3' # iphone source_type_4 = '4' # android account_id = Column(String(64), unique=True, nullable=False, server_default="", comment="账户号") user_id = Column(String(64), comment="用户ID", nullable=False, server_default="") score = Column(INTEGER, nullable=False, server_default="0", comment="积分") id_card = Column(String(64), nullable=False, server_default="", comment="身份证号", default="") nick_name = Column(String(64), nullable=False, server_default="", default="", comment="昵称") source = Column(TINYINT(4), nullable=False, comment="注册渠道", server_default=source_type_1) avatar = Column(String(128), nullable=False, server_default="", default="", comment="头像地址") transaction_password = Column(String(128), nullable=False, server_default="", default="", comment="交易密码") transaction_passwd_salt = Column(String(128), nullable=False, comment="交易密码加密参数", server_default="", default="") transaction_bcrypt_salt = Column(String(128), nullable=False, comment="bcrypt算法交易密码加密参数", default="", server_default="") first_recharge_at = Column(DateTime, nullable=False, server_default="0000-00-00 00:00:00", comment="首次充值时间") # 下面这三个字段最后定为仅存在用户中心,故这里不能存,客户端若必须获取则需要发送userinfi请求到客户端获取 user_mobile = Column(CHAR(64), nullable=False, comment="手机号", server_default="", default="") email = Column(String(128), nullable=False, server_default="", default="", comment="邮箱") mobile_country_code = Column(String(128), nullable=False, server_default="", default="", comment="手机号国家区号") user_name = Column(CHAR(64), default=None, doc="用户名") register_ip = Column(String(128), nullable=False, server_default="", default="", comment="注册时的ip") # 邀请码相关的流程 # inviter_code 自己生成的用来邀请别人的邀请码 # invitee_code 别人邀请自己的邀请码 inviter_code = Column(CHAR(8), nullable=False, default="", comment="邀请码") invitee_code = Column(CHAR(8), nullable=False, default="", comment="受邀请码") # 是否参与首次抽奖 first_lottery = Column(TINYINT(1), nullable=False, default=0, comment="是否参与首次抽奖") # 用户头像 profile_picture = Column(TEXT, nullable=False, default="", comment="用户头像") # 状态 status = Column(TINYINT(1), nullable=False, server_default=str(status_on), comment="状态 0)注销 1)在用") def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.account_id = generate_order_no(k=44)
class ChartModel(Base): __tablename__ = 'chart' id = Column('id', INTEGER(display_width=11, unsigned=True), primary_key=True, nullable=False) name = Column('name', VARCHAR(length=255), nullable=False) dashboard_id = Column('dashboard_id', INTEGER(display_width=11, unsigned=True), nullable=False) ds_id = Column('ds_id', INTEGER(display_width=11, unsigned=True), nullable=False) table = Column('table', VARCHAR(length=255), nullable=False) query = Column('query', Dict(), nullable=False) x_fields = Column('x_fields', List(), nullable=False) y_fields = Column('y_fields', List(), nullable=False) type = Column('type', CHAR(length=32), nullable=False) user_id = Column('user_id', INTEGER(display_width=11), nullable=False) ctime = Column('ctime', TIMESTAMP(), nullable=False, server_default=DefaultClause(text('CURRENT_TIMESTAMP'))) utime = Column('utime', TIMESTAMP(), nullable=False, server_default=DefaultClause( text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'))) is_del = Column('is_del', TINYINT(display_width=4, unsigned=True), nullable=False, server_default=DefaultClause(text('0')))
class StockManagementInfo(Base): __tablename__ = 'stock_management_info' code = Column(CHAR(20), primary_key=True, nullable=False) company_name = Column(VARCHAR(255), primary_key=True, nullable=False) pub_date = Column(Date, primary_key=True, nullable=False) person_id = Column(BIGINT(20), nullable=False) name = Column(VARCHAR(255), primary_key=True, nullable=False) title_class_id = Column(BIGINT(20), primary_key=True, nullable=False) title_class = Column(VARCHAR(20), nullable=False) title = Column(VARCHAR(40), primary_key=True, nullable=False) start_date = Column(Date, primary_key=True, nullable=False) leave_date = Column(Date) leave_reason = Column(Text) on_job = Column(Text) gender = Column(Text) birth_year = Column(Text) highest_degree_id = Column(Float(asdecimal=True)) highest_degree = Column(Text) title_level_id = Column(Float(asdecimal=True)) title_level = Column(Text) profession_certificate_id = Column(Text) profession_certificate = Column(Text) nationality_id = Column(Float(asdecimal=True)) nationality = Column(Text) security_career_start_year = Column(Text) resume = Column(Text)
class OauthKakao(Base): __tablename__ = 'oauth_kakao' user_id = Column(Integer, ForeignKey('users.id', ondelete='CASCADE'), nullable=False) user = relationship('User', foreign_keys=[user_id], uselist=False, backref=backref('oauth_kakao', cascade='all,delete', uselist=False)) party_id = Column(CHAR(50), nullable=False, unique=True) party_name = Column(TEXT, nullable=False) party_email = Column(TEXT) party_picture = Column(TEXT) def __init__(self, user, info, **kwargs): ''' :param kwargs: ''' super().__init__(**kwargs) self.user = user self.user_id = user.id self.party_id = info.get('id') self.party_name = info['properties'].get('nickname') self.party_email = info['kakao_account'].get('email') self.party_picture = info['properties'].get('profile_image')
class Report(Base): __tablename__ = 'reports' from_user_id = Column(Integer, ForeignKey('users.id', ondelete='SET NULL'), index=True) to_user_id = Column(Integer, ForeignKey('users.id', ondelete='SET NULL'), index=True) memo = Column(TEXT) created_at = Column(DATETIME) status = Column(CHAR(10)) STATUS_SUBMIT = 'SUBMIT' # 신고가 들어온 상태 STATUS_RESOLVED = 'RESOLVED' # 신고가 해결된 상태 STATUS_REJECTED = 'REJECTED' # 신고가 거절된 상태 def __init__(self, **kwargs): super().__init__(**kwargs) self.created_at = datetime.now() self.status = self.STATUS_SUBMIT def json(self): return { 'id': self.id, 'from_user_id': self.from_user_id, 'to_user_id': self.to_user_id, 'memo': self.memo, 'created_at': DateTimeHelper.full_datetime(self.created_at), 'status': self.status, }
class Project(Base): __tablename__ = 'project' __table_args__ = {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'} id = Column(INTEGER(5, unsigned=True), primary_key=True) uuid = Column('uuid', CHAR(32), nullable=False, doc='project\'s UUID', index=True) created_at = Column('created_at', TIMESTAMP(), nullable=True, default=None) updated_at = Column('updated_at', TIMESTAMP(), nullable=True, default=None) def __repr__(self): _repr = 'Project(%s,%s,%s,%s' \ % (self.id, self.uuid, self.created_at if self.created_at else 'None', self.updated_at if self.updated_at else 'None') if hasattr(self, 'details'): _repr += ',' + str(self.details) return _repr + ')'
class OauthApple(Base): __tablename__ = 'oauth_apple' user_id = Column(Integer, ForeignKey('users.id', ondelete='CASCADE'), nullable=False) user = relationship('User', foreign_keys=[user_id], uselist=False, backref=backref('oauth_apple', cascade='all,delete', uselist=False)) party_id = Column(CHAR(80), nullable=False, unique=True) party_name = Column(TEXT, nullable=False) party_email = Column(TEXT) party_picture = Column(TEXT) refresh_token = Column(TEXT) def __init__(self, user, info, **kwargs): ''' 애플 로그인은 서버에서 인증을 거치기 때문에 refresh_token 을 저장합니다. ''' super().__init__(**kwargs) self.user = user self.user_id = user.id self.party_id = info.get('sub') self.party_name = info.get('email') self.party_email = info.get('email') self.party_picture = '' self.refresh_token = kwargs.get('refresh_token')
class OccupationAuth(Base): __tablename__ = 'occupation_auth' user_id = Column(Integer, ForeignKey('users.id', ondelete='CASCADE'), nullable=False) occupation_type = Column(CHAR(20)) # edu 와 work 가 있다. url = Column(TEXT) created_at = Column(DATETIME) confirmed = Column(BOOLEAN) confirmed_at = Column(DATETIME) def __init__(self, **kwargs): super().__init__(**kwargs) self.created_at = datetime.now() def confirm(self): self.confirmed = True self.confirmed_at = datetime.now() def json(self): return { 'id': self.id, 'user_id': self.user_id, 'occupation_type': self.occupation_type, 'url': self.url, 'confirmed': self.confirmed, }
def get_column_type(type_name: str) -> object: """Get class of db type :param type_name: str :return: object class """ return { "string": VARCHAR, "varchar": VARCHAR, "integer": INTEGER, "nvarchar": NVARCHAR, "smallint": SMALLINT, "set": SET, "bigint": BIGINT, "binary": BINARY, "boolean": BOOLEAN, "bool": BOOLEAN, "char": CHAR, "date": DATE, "datetime": DATETIME, "decimal": DECIMAL, "enum": ENUM, "float": FLOAT, "json": JSON, "numeric": NUMERIC, "text": TEXT, "uuid": CHAR(36), }.get(type_name.lower())
class User(TableBase): """用户信息""" uid = sa.Column(INTEGER(unsigned=True), nullable=False, primary_key=True, autoincrement=True) # 用户ID name = sa.Column(VARCHAR(32), nullable=False) # 用户名 salt = sa.Column(CHAR(6), nullable=False) # 密码盐 passwd = sa.Column(VARCHAR(64), nullable=False) # 密码 offer = sa.Column(INTEGER(unsigned=True), nullable=False, default=0) # 购买优惠 coins = sa.Column(INTEGER(unsigned=True), nullable=False, default=0) # 剩余coin gifts = sa.Column(INTEGER(unsigned=True), nullable=False, default=0) # 代币 regtime = sa.Column(INTEGER(unsigned=True), nullable=False) # 注册时间 status = sa.Column(TINYINT, nullable=False, default=common.ACTIVE) # 用户状态 activecode = sa.Column(INTEGER(unsigned=True), nullable=True) # 激活验证码' books = orm.relationship('UserBook', primaryjoin='User.uid == UserBook.uid', foreign_keys='UserBook.uid', backref='user', lazy='select') owns = orm.relationship('UserOwn', primaryjoin='User.uid == UserOwn.uid', foreign_keys='UserOwn.uid', backref='user', lazy='select') __table_args__ = (sa.UniqueConstraint('name', name='name_unique'), InnoDBTableBase.__table_args__)
class Record(Base): __tablename__ = 'records' id = Column(INTEGER, primary_key=True) method = Column(CHAR(20, collation='utf8_unicode_ci'), nullable=False) time = Column(TIMESTAMP, default=datetime.utcnow, onupdate=datetime.utcnow) def __init__(self, method, ann_id, **kwargs): self.id = ann_id self.method = method def __repr__(self): return 'Record(%s ,%s)' %\ (self.method,self.id) @classmethod def by_time(cls, time_ob, sql_session): q = sql_session.query(cls) return q.filter(cls.time > time_ob) @classmethod def add(cls, method, ann_id, sql_session): q = sql_session.query(cls).filter(cls.id == ann_id) if q.count(): q.update({'method':method}) else: sql_session.add(cls(method, ann_id)) def to_dict(self): return { 'id' : self.id, 'method' : self.method, 'time' : self.time.strftime('%Y-%m-%d %H:%M:%S'), }
class User(Base): __tablename__ = 'User' userIndex = Column(INTEGER(unsigned=True), primary_key=True, autoincrement=True, nullable=False) userId = Column(VARCHAR(20), nullable=False, unique=True) password = Column(CHAR(255), nullable=False, unique=False) nickName = Column(VARCHAR(20), nullable=False, unique=True) eMail = Column(VARCHAR(100), nullable=False, unique=False) lastMatchDate = Column(DATETIME, default=None, nullable=True) authority = Column(ENUM('admin', 'semiAdmin', 'user'), nullable=False, default='user')
class TypeGroup(Base): __tablename__ = 'type_groups' title = Column(TEXT) acronym = Column(CHAR(10)) def json(self, **kwargs): return {'id': self.id, 'title': self.title, 'acronym': self.acronym}