यदि आप चाहते हैं कि एक फिल्म से कई अभिनेता जुड़े हों, और कई फिल्में एक अभिनेता से जुड़ी हों, तो आप कई-से-अनेक चाहते हैं। इसका मतलब है कि आपको एक एसोसिएशन टेबल की आवश्यकता है। अन्यथा, आप सामान्यीकरण को दूर कर सकते हैं और NoSQL डेटाबेस का उपयोग कर सकते हैं।
एक संबद्धता तालिका समाधान सदृश हो सकता है:
class Actor(Base):
__tablename__ = 'actors'
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
name = Column(String)
nickname = Column(String)
academy_awards = Column(Integer)
class Movie(Base):
__tablename__ = 'movies'
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
title = Column(String)
actors = relationship('ActorMovie', uselist=True, backref='movies')
class ActorMovie(Base):
__tablename__ = 'actor_movies'
actor_id = Column(UUID(as_uuid=True), ForeignKey('actors.id'))
movie_id = Column(UUID(as_uuid=True), ForeignKey('movies.id'))
यदि आप नहीं चाहते हैं कि अभिनेता मूवी बेस से विरासत में मिली वस्तु हो, तो आप sqlachlemy.schema.Table
का उपयोग कर सकते हैं। ।