26 lines
1.0 KiB
Python
26 lines
1.0 KiB
Python
from sqlalchemy import Column, VARCHAR, Date, ForeignKey, Integer, String
|
|
from sqlalchemy.orm import relationship
|
|
|
|
from app.domain.models.base import AdvancedBaseModel
|
|
|
|
|
|
class Profile(AdvancedBaseModel):
|
|
__tablename__ = 'profiles'
|
|
|
|
first_name = Column(VARCHAR(150), nullable=False)
|
|
last_name = Column(VARCHAR(150), nullable=False)
|
|
patronymic = Column(VARCHAR(150))
|
|
birthday = Column(Date, nullable=False)
|
|
email = Column(VARCHAR(150))
|
|
phone = Column(VARCHAR(28))
|
|
repository_url = Column(String, nullable=True)
|
|
|
|
role_id = Column(Integer, ForeignKey('roles.id'), nullable=False)
|
|
team_id = Column(Integer, ForeignKey('teams.id'), nullable=False)
|
|
|
|
role = relationship('Role', back_populates='profiles')
|
|
team = relationship('Team', back_populates='profiles')
|
|
|
|
user = relationship('User', back_populates='profile', cascade='all')
|
|
profile_photos = relationship('ProfilePhoto', back_populates='profile', cascade='all')
|
|
projects = relationship('ProjectMember', back_populates='profile') |