source

sqlAlchemy에서 인터페이스 테이블을 생성하는 방법(다대다 관계)

ittop 2023. 8. 10. 21:27
반응형

sqlAlchemy에서 인터페이스 테이블을 생성하는 방법(다대다 관계)

기존 Mariadb 데이터베이스와 상호 작용하기 위해 SqlAlchemy를 사용하고 있습니다.다대다 관계로 구성된 데이터에 액세스해야 합니다.소스 사이트 설명서(sqlAlchemy)에 따라 다중 대 다중 관계를 만들었지만 flask db migrate 명령을 입력한 후 오류가 발생합니다.

게시물카테고리 표가 작성되었음을 유의해야 합니다.

인터페이스 테이블을 작성하기 위한 문서:


from sqlalchemy import Column, String, Text, Integer, Table, ForeignKey
from app import db


posts_categories = Table('posts_categories', db.metadata,
    Column('post_id', Integer, ForeignKey('posts.id', ondelete='cascade')),
    Column('category_id', Integer, ForeignKey('categories.id', ondelete='cascade'))
)

class Category(db.Model):
    __tablename = 'categories'
    id = Column(Integer, primary_key=True)
    name = Column(String(128), nullable=False, unique=True)
    description = Column(String(256), nullable=True, unique=False)
    slug = Column(String(128), nullable=False, unique=True)
    posts = db.relationship('Post', secondary=posts_categories, back_populates='categories')


class Post(db.Model):
    __tablename = 'posts'
    id = Column(Integer, primary_key=True)
    title = Column(String(128), nullable=False, unique=True)
    summary = Column(String(256), nullable=True, unique=False)
    content = Column(Text, nullable=False, unique=False)
    slug = Column(String(128), nullable=False, unique=True)
    categories = db.relationship('Category', secondary=posts_categories, back_populates='posts')

언급URL : https://stackoverflow.com/questions/65215790/how-to-create-an-interface-table-in-sqlalchemy-relation-many-to-many

반응형