sqlalchemy 선언문을 사용하여 관계를 지정하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/250398

  •  05-07-2019
  •  | 
  •  

문제

sqlalchemy의 선언적 구문을 사용하여 관계를 지정하는 방법에 대한 적절한 문서를 찾을 수 없습니다. 지원되지 않습니까? 즉, "전통적인"구문을 사용해야합니까?
외국 키 등을 엉망으로 만드는 것을 피하고 관계를 더 높은 수준으로 지정하는 방법을 찾고 있습니다. "주소 = onetomany (주소)"를 선언하고 프레임 워크가 세부 사항을 처리하도록합니다. 그 엘릭서가 그렇게 할 수는 있지만, "일반"SQLA도 그렇게 할 수 있는지 궁금했습니다.
당신의 도움을 주셔서 감사합니다!

도움이 되었습니까?

해결책

당신이 언급한다고 가정합니다 선언적 플러그인, 내가 말하려고하는 모든 것이 예제로 문서화되어 있습니다.

class User(Base):
    __tablename__ = 'users'

    id = Column('id', Integer, primary_key=True)
    addresses = relation("Address", backref="user")

class Address(Base):
    __tablename__ = 'addresses'

    id = Column('id', Integer, primary_key=True)
    user_id = Column('user_id', Integer, ForeignKey('users.id'))

다른 팁

"관계 구성"섹션을보십시오. 선언적인 문서. "Onetomany"만큼 높지는 않지만 관계를 완전히 지정하는 것보다 낫습니다.

class Address(Base):
    __tablename__ = 'addresses'

    id = Column(Integer, primary_key=True)
    email = Column(String(50))
    user_id = Column(Integer, ForeignKey('users.id'))
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top