23 lines
742 B
Python

from sqlalchemy import Column, VARCHAR, ForeignKey, Integer, String
from sqlalchemy.orm import relationship
from werkzeug.security import check_password_hash, generate_password_hash
from app.domain.models.base import AdvancedBaseModel
class User(AdvancedBaseModel):
__tablename__ = 'users'
login = Column(VARCHAR(150), unique=True, nullable=False)
password = Column(String, nullable=False)
profile_id = Column(Integer, ForeignKey('profiles.id'), nullable=False)
profile = relationship('Profile', back_populates='user')
def check_password(self, password):
return check_password_hash(self.password, password)
def set_password(self, password):
self.password = generate_password_hash(password)