PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để tạo một trường có danh sách các khóa ngoại trong SQLAlchemy?

Nếu bạn muốn nhiều diễn viên được liên kết với một bộ phim và nhiều bộ phim được liên kết với một diễn viên, bạn muốn có nhiều người. Điều này có nghĩa là bạn cần một bảng liên kết. Nếu không, bạn có thể bỏ quá trình chuẩn hóa và sử dụng cơ sở dữ liệu NoSQL.

Giải pháp bảng liên kết có thể giống như sau:

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

Nếu bạn không muốn ActorMovie là một đối tượng kế thừa từ Base, bạn có thể sử dụng 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. Rails tra cứu theo mảng được tuần tự hóa

  2. Truy vấn dữ liệu trong trường dữ liệu mảng JSON

  3. Cách Atan () hoạt động trong PostgreSQL

  4. pgDash Alternatives - Giám sát cơ sở dữ liệu PostgreSQL với ClusterControl

  5. Truy vấn cho các phần tử mảng bên trong kiểu JSON