2023-03-14 10:49:27 +08:00
|
|
|
|
from sqlalchemy.orm import relationship
|
|
|
|
|
|
|
|
|
|
from Context.common import common_db
|
2023-03-14 13:39:40 +08:00
|
|
|
|
from sqlalchemy import Column, Integer, String, ForeignKey, Text, DateTime, func
|
2023-03-14 11:16:57 +08:00
|
|
|
|
from Mods.User.Models import User
|
2023-03-14 10:49:27 +08:00
|
|
|
|
|
2023-03-14 09:37:59 +08:00
|
|
|
|
|
2023-03-14 11:16:57 +08:00
|
|
|
|
class EditRecord(common_db.Base):
|
2023-03-14 10:49:27 +08:00
|
|
|
|
"""
|
|
|
|
|
编辑记录表
|
|
|
|
|
"""
|
|
|
|
|
__tablename__ = "edit_record"
|
2023-03-14 09:37:59 +08:00
|
|
|
|
id = Column(Integer, primary_key=True)
|
2023-03-14 13:39:40 +08:00
|
|
|
|
edit_user = Column(String(128), ForeignKey('user.email'), comment="填报人", nullable=False)
|
2023-03-14 10:49:27 +08:00
|
|
|
|
user_info = relationship('User', uselist=False, backref='user')
|
2023-03-14 13:39:40 +08:00
|
|
|
|
item_id = Column(Integer, comment="编辑项id", nullable=False)
|
2023-03-20 14:11:37 +08:00
|
|
|
|
action = Column(String(255), comment="操作")
|
2023-03-14 13:39:40 +08:00
|
|
|
|
item_type_id = Column(Integer, ForeignKey('edit_item_type.id'), comment="编辑项类型信息", nullable=False)
|
2023-03-14 10:49:27 +08:00
|
|
|
|
item_type_info = relationship('EditItemType', uselist=False, backref='edit_item_type')
|
|
|
|
|
before_edit_data = Column(Text, comment="编辑前的信息json")
|
|
|
|
|
after_edit_data = Column(Text, comment="编辑后的信息json")
|
2023-03-14 13:39:40 +08:00
|
|
|
|
edit_time = Column(DateTime, server_default=func.now(), comment='编辑时间')
|
|
|
|
|
create_time = Column(DateTime, server_default=func.now(), comment='创建时间')
|
2023-03-14 10:49:27 +08:00
|
|
|
|
|
|
|
|
|
def to_dict(self):
|
|
|
|
|
data = {c.name: getattr(self, c.name) for c in self.__table__.columns}
|
|
|
|
|
item_type_info = getattr(self, 'item_type_info')
|
|
|
|
|
data['item_type_info'] = item_type_info.to_dict()
|
2023-03-14 13:39:40 +08:00
|
|
|
|
user_info = getattr(self, 'user_info')
|
|
|
|
|
data['user_info'] = user_info.to_dict()
|
2023-03-14 10:49:27 +08:00
|
|
|
|
return data
|
|
|
|
|
|
|
|
|
|
|
2023-03-14 11:16:57 +08:00
|
|
|
|
class EditItemType(common_db.Base):
|
2023-03-14 10:49:27 +08:00
|
|
|
|
"""
|
|
|
|
|
编辑项信息配置表,这个表需手动配置
|
|
|
|
|
"""
|
|
|
|
|
__tablename__ = "edit_item_type"
|
|
|
|
|
id = Column(Integer, primary_key=True)
|
2023-03-14 13:39:40 +08:00
|
|
|
|
name = Column(String(255), comment="名称", nullable=False)
|
|
|
|
|
category = Column(String(255), comment="类别", nullable=False)
|
2023-03-20 14:11:37 +08:00
|
|
|
|
table_name = Column(String(255), comment="表名", nullable=False)
|
2023-03-14 10:49:27 +08:00
|
|
|
|
|
|
|
|
|
def to_dict(self):
|
|
|
|
|
data = {c.name: getattr(self, c.name) for c in self.__table__.columns}
|
|
|
|
|
return data
|