I have a following schema, I would like to query user and all timezones belongs to it including timezone name. Could you please validate if my schema constructed correctly and most efficient way?
class Timezone(Base):
__tablename__='timezone'
id = Column(Integer, primary_key=True)
name = Column(String(40), unique=True)
class UserTimezone(Base):
__tablename__='user_timezone'
id = Column(Integer, primary_key=True)
user_id = Column(Integer, ForeignKey('users.id', ondelete='CASCADE'))
timezone_id = Column(Integer, ForeignKey('timezone.id', ondelete='CASCADE'))
timezone = relationship(Timezone, backref="timezone")
class User(Base):
__tablename__='users'
id = Column(Integer, primary_key=True)
first_name = Column(String(64), index=False, unique=False)
last_name = Column(String(64), index=False, unique=False)
email = Column(String(120), index=True, unique=True)
password = Column(String(120), index=False, unique=False)
timezones = relationship(UserTimezone, backref="user_timezone")