daily/Models/DailyModel.py

29 lines
1.4 KiB
Python
Raw Normal View History

2023-02-28 16:28:48 +08:00
from sqlalchemy import Column, String, Boolean, Enum, Text, DateTime, func, Integer, ForeignKey
from sqlalchemy.orm import relationship
2023-02-28 13:52:51 +08:00
from Utils.SqlAlchemyUtils import Base
2023-02-28 16:28:48 +08:00
from Schemas.DailySchemas import DailyTypeEnum
2023-02-28 13:52:51 +08:00
class Daily(Base):
2023-02-28 16:28:48 +08:00
__tablename__ = "daily"
id = Column(Integer, primary_key=True, comment="日报ID")
type = Column(Enum(DailyTypeEnum, values_callable=lambda x: [e.value for e in x]), nullable=False)
fill_user = Column(String(128), comment="填报人openid")
# fill_user = Column(String(128), ForeignKey('user.openid'), comment="填报人openid")
# user = relationship('User', uselist=False, backref='user')
name = Column(String(128), comment="填报人名称")
department = Column(String(128), comment="填报人部门")
post = Column(String(128), comment="填报人职务")
content = Column(Text, comment="填报内容")
daily_time = Column(DateTime, server_default=func.now(), comment='日报时间')
2023-02-28 13:52:51 +08:00
create_time = Column(DateTime, server_default=func.now(), comment='创建时间')
update_time = Column(DateTime, server_default=func.now(), onupdate=func.now(), comment='修改时间')
def to_dict(self):
2023-02-28 16:28:48 +08:00
data = {c.name: getattr(self, c.name) for c in self.__table__.columns}
# user = getattr(self, 'user')
# data['name'] = user.name
# data['department'] = user.department
# data['post'] = user.post
return data