Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # auth.models
- from datetime import datetime
- import sqlalchemy as sa
- from sqlalchemy.orm import relationship
- from src.core.database import Base
- class User(Base):
- __tablename__ = 'users'
- id = sa.Column(sa.Integer, primary_key=True, index=True)
- email = sa.Column(sa.String, unique=True, index=True)
- first_name = sa.Column(sa.String, nullable=False)
- last_name = sa.Column(sa.String, nullable=False)
- hashed_password = sa.Column(sa.String)
- is_active = sa.Column(sa.Boolean, default=False)
- birthdate = sa.Column(sa.Date, nullable=False)
- created_at = sa.Column(sa.DateTime, default=datetime.now)
- updated_at = sa.Column(sa.DateTime, onupdate=datetime.now)
- account = relationship('Account', uselist=False, backref='users')
- # account.models
- import sqlalchemy as sa
- from sqlalchemy.orm import relationship
- from event.associations import AccountEventAssociation
- from event.models import Event
- from src.core.database import Base
- class Account(Base):
- __tablename__ = 'accounts'
- # There is also constraint, that checks 1 <= rating <= 5
- id = sa.Column(sa.Integer, primary_key=True, index=True)
- username = sa.Column(sa.String, unique=True, nullable=False)
- photo = sa.Column(sa.String, unique=True, nullable=True)
- user_id = sa.Column(sa.Integer, sa.ForeignKey('users.id'))
- events = relationship(
- Event,
- secondary=AccountEventAssociation,
- back_populates='accounts',
- )
Advertisement
Add Comment
Please, Sign In to add comment