27 lines
1.3 KiB
Python
27 lines
1.3 KiB
Python
from sqlalchemy import Column, String, Boolean, Enum, Text, DateTime, func, Integer, ForeignKey
|
|
from sqlalchemy.orm import relationship
|
|
from Utils.SqlAlchemyUtils import Base
|
|
from Schemas.DailySchemas import DailyTypeEnum
|
|
|
|
|
|
class Daily(Base):
|
|
__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_info = relationship('User', uselist=False, backref='user')
|
|
title = Column(String(128), comment="标题")
|
|
department = Column(Integer, comment="填报部门")
|
|
post = Column(Integer, comment="填报部门")
|
|
content = Column(Text, comment="填报内容")
|
|
daily_time = Column(DateTime, server_default=func.now(), comment='日报时间')
|
|
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):
|
|
data = {c.name: getattr(self, c.name) for c in self.__table__.columns}
|
|
user = getattr(self, 'user_info')
|
|
data['user'] = user.to_dict()
|
|
return data
|