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. 重複する複数の列を更新およびインクリメントする

    2. docker-compose:毎回MySQLデータベースを再初期化する

    3. エラー:RはMySQLに接続できません

    4. SUBDATE()の例– MySQL