PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana cara membuat bidang dengan daftar kunci asing di SQLAlchemy?

Jika Anda ingin banyak aktor dikaitkan dengan sebuah film, dan banyak film dikaitkan dengan seorang aktor, Anda menginginkan banyak-ke-banyak. Ini berarti Anda memerlukan tabel asosiasi. Jika tidak, Anda dapat membuang normalisasi dan menggunakan database NoSQL.

Solusi tabel asosiasi mungkin menyerupai:

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

Jika Anda tidak ingin ActorMovie menjadi objek yang diwarisi dari Base, Anda dapat menggunakan 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. Bagaimana cara membuang data objek besar dari Postgres 9.4, dan kemudian mengimpornya ke Postgres8.x?

  2. Bagaimana cara menguji SQL ad-hoc saya dengan parameter di jendela kueri Postgres

  3. 3 Cara Mendaftar Semua Prosedur Tersimpan yang Mereferensikan Tabel di PostgreSQL

  4. Apa artinya ketika proses PostgreSQL menganggur dalam transaksi?

  5. Alat Cadangan Teratas untuk PostgreSQL