使用flask-restful实现数据校验与序列化

This commit is contained in:
zhengxinonly
2021-06-26 03:17:29 +08:00
parent 8fba71c464
commit b8870d4c33
27 changed files with 273 additions and 533 deletions
+1 -2
View File
@@ -2,8 +2,7 @@ from applications.models.company import Dept, DeptSchema, User, UserSchema
from .dict_models import DictType, DictData, DictTypeSchema, DictDataSchema
from .log import AdminLog, LogSchema
from applications.models.file.photo import Photo, PhotoSchema
from applications.models.rights.power import Power, PowerSchema, PowerSchema2
from applications.models.rights.power import Power, PowerSchema
from applications.models.rights.role import Role, RoleSchema
from applications.models.rights.role_power import role_power
from applications.models.rights.user_role import user_role
from applications.models.vip import VipMember, Course, Phase, course_phase, member_phase
-12
View File
@@ -37,15 +37,3 @@ class PowerSchema(ma.Schema):
enable = fields.Integer()
class PowerSchema2(ma.Schema): # 序列化类
powerId = fields.Str(attribute="id")
powerName = fields.Str(attribute="name")
powerType = fields.Str(attribute="type")
powerUrl = fields.Str(attribute="url")
openType = fields.Str(attribute="open_type")
parentId = fields.Str(attribute="parent_id")
icon = fields.Str()
sort = fields.Integer()
create_time = fields.DateTime()
update_time = fields.DateTime()
enable = fields.Integer()
-62
View File
@@ -1,62 +0,0 @@
from datetime import datetime
from applications.extensions import db
class VipMember(db.Model):
__tablename__ = 'vip_member'
id = db.Column(db.Integer, primary_key=True, autoincrement=True, comment='VIP用户ID')
username = db.Column(db.String(20), comment='用户名')
mobile = db.Column(db.String(11), comment='电话号码')
id_card = db.Column(db.String(16), comment='身份证号码')
wx = db.Column(db.String(50), comment='微信号')
qq = db.Column(db.String(20), comment='QQ号')
account = db.Column(db.String(50), comment='报名账号')
number = db.Column(db.String(12), comment='学号')
phase = db.Column(db.SMALLINT, comment='第几期')
avatar = db.Column(db.String(255), comment='头像', default="/static/admin/admin/images/avatar.jpg")
remark = db.Column(db.String(255), comment='备注')
password_hash = db.Column(db.String(128), comment='哈希密码')
enable = db.Column(db.Integer, default=0, comment='启用')
create_at = db.Column(db.DateTime, default=datetime.now, comment='创建时间')
update_at = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now, comment='更新时间')
courses = db.relationship('Course', secondary="vip_member_course", backref=db.backref('members'), lazy='dynamic')
phases = db.relationship('Phase', secondary="vip_member_phase", backref=db.backref('members'), lazy='dynamic')
class Course(db.Model):
__tablename__ = 'vip_course'
id = db.Column(db.Integer, primary_key=True, autoincrement=True, comment='课程id')
name = db.Column(db.String(20), comment='课程名')
class Phase(db.Model):
__tablename__ = 'vip_phase'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(20), comment='课程名')
phase = db.Column(db.Integer, comment='第几期')
teacher = db.Column(db.String(20), comment='带课讲师')
# 创建中间表
member_phase = db.Table(
"vip_member_phase", # 中间表名称
db.Column("id", db.Integer, primary_key=True, autoincrement=True, comment='标识'), # 主键
db.Column("member_id", db.Integer, db.ForeignKey("vip_member.id"), comment='用户编号'), # 属性 外键
db.Column("phase_id", db.Integer, db.ForeignKey("vip_phase.id"), comment='期数编号'), # 属性 外键
)
# 创建中间表
course_phase = db.Table(
"vip_member_course", # 中间表名称
db.Column("id", db.Integer, primary_key=True, autoincrement=True, comment='标识'), # 主键
db.Column("member_id", db.Integer, db.ForeignKey("vip_member.id"), comment='用户编号'), # 属性 外键
db.Column("course_id", db.Integer, db.ForeignKey("vip_course.id"), comment='期数编号'), # 属性 外键
)