30 lines
1.0 KiB
Python
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
|