sqlalchemy 선언문을 사용하여 관계를 지정하는 방법은 무엇입니까?
-
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'))
제휴하지 않습니다 StackOverflow