Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # ---------------------------------------------------------------------
- class AccountEventAssociation(Base):
- __tablename__ = 'account_event_association'
- account_id = sa.Column(
- sa.Integer,
- sa.ForeignKey('accounts.id'),
- primary_key=True
- )
- event_id = sa.Column(
- sa.Integer,
- sa.ForeignKey('events.id'),
- primary_key=True
- )
- # -----------------------------------------------------------------------
- class Event(Base):
- __tablename__ = 'events'
- id = sa.Column(sa.Integer, primary_key=True, index=True)
- title = sa.Column(sa.String, nullable=False)
- description = sa.Column(sa.Text, nullable=True)
- address = sa.Column(sa.String, nullable=False)
- start_time = sa.Column(sa.DateTime, nullable=False)
- end_time = sa.Column(sa.DateTime, nullable=True)
- is_closed = sa.Column(sa.Boolean, default=False, nullable=False)
- number_of_members = sa.Column(
- sa.Integer,
- nullable=False
- )
- min_age = sa.Column(
- sa.Integer,
- nullable=False
- )
- max_age = sa.Column(
- sa.Integer,
- nullable=False
- )
- type = sa.Column(sa.Enum('online', 'offline', name='type_enum'), nullable=False)
- created_at = sa.Column(sa.DateTime, default=datetime.now, nullable=False)
- updated_at = sa.Column(sa.DateTime, onupdate=datetime.now, nullable=False)
- is_active = sa.Column(sa.Boolean, default=True, nullable=False)
- account = relationship(
- 'Account'
- secondary=AccountEventAssociation,
- back_populates='events'
- )
- notes = sa.Column(sa.Text, nullable=True)
- # ------------------------------------------------------------------------------
- class Account(Base):
- __tablename__ = 'accounts'
- id = sa.Column(sa.Integer, primary_key=True, index=True)
- rating = sa.Column(
- sa.Numeric(3, 2),
- default=1,
- nullable=False
- ) # There is also constraint, that checks 1 <= rating <= 5
- 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'))
- event = relationship(
- 'Account'
- secondary=AccountEventAssociation,
- back_populates='accounts',
- )
Advertisement
Add Comment
Please, Sign In to add comment