PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да създадете поле със списък от външни ключове в SQLAlchemy?

Ако искате много актьори да бъдат свързани с един филм и много филми да бъдат свързани с един актьор, вие искате много към много. Това означава, че имате нужда от асоциативна таблица. В противен случай можете да изхвърлите нормализацията и да използвате 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'))

Ако не искате ActorMovie да бъде обект, наследяващ от Base, можете да използвате sqlachlemy.schema.Table .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. доктрина JSON колона в postgresql съхранява обекти или масиви от едни и същи данни

  2. Ebean търси грешно име на последователност в Play Framework 2

  3. Postgres Създаване на изглед с функция тип запис

  4. Сравнете множество периоди от време

  5. PHP и Postgres:улавяне на грешки?