sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur skapar man ett fält med en lista över främmande nycklar i SQLAlchemy?

Om du vill att många skådespelare ska förknippas med en film, och många filmer förknippas med en skådespelare, vill du ha många-till-många. Det betyder att du behöver ett föreningsbord. Annars kan du kasta undan normalisering och använda en NoSQL-databas.

En associationstabelllösning kan likna:

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'))

Om du inte vill att ActorMovie ska vara ett objekt som ärver från Base kan du använda sqlachlemy.schema.Table .




  1. Hooks utlöses inte när du infogar råfrågor via sequelize.query()

  2. Windows:XAMPP vs WampServer vs EasyPHP vs alternativ

  3. Skapa instans från mySQL-data med php

  4. Unicode till icke-Unicode-konvertering