user-wsc/AppUser/Model/UserModel.py

30 lines
1.0 KiB
Python

from sqlalchemy.orm import relationship
from sqlalchemy import Column, String, Boolean, ForeignKey
from AppUser.Model.RoleModel import Role
from AppUser.Model.DepartmentModel import Department
from Utils.DataBase.SqlAlchemyUtils import Base
class User(Base):
__tablename__ = "user"
id = Column(String(8), primary_key=True)
email = Column(String(64), unique=True, index=True)
passwd = Column(String(255))
name = Column(String(32), index=True, nullable=False)
avatar = Column(String(128))
role_id = Column(String(8), ForeignKey("role.id"))
department_id = Column(String(8), ForeignKey("department.id"))
is_active = Column(Boolean, default=True)
role = relationship(Role, backref="user")
department = relationship(Department, backref="user")
def to_dict(self):
user_dict = {c.name: getattr(self, c.name, None) for c in self.__table__.columns}
user_dict.update({"role": self.role.__str__()})
user_dict.update({"department": self.department.__str__()})
return user_dict