많은 다형성 SQLAlchemy의 내 웹 응용 프로그램에서 사용자에게 '좋아하는'다른 항목 수 있도록 노력하고있어. 따라서 예를 들어 사용자는 댓글을 선호하고 뉴스를 좋아할 수 있습니다. 그런 다음 사용자가 선호하는 모든 항목을 쿼리하고 관련 객체 (뉴스 기사 또는 주석이든)를 다형성으로로드하여 객체 목록을 사용자에게 표시하려고합니다. 나는 일대일 다형성 관계를 만드는 방법을 알고 있지만, 많은 것을 알아낼 수는 없습니다. 사전에많은 관계
감사
편집
내 일대일 다형성의 관계에서나는 사용자 및 사용자의 행동 사이에 한 많은 관계를 가지고 있고, 사용자 작업과 사이에 일대일 다형성의 관계 액션이 수행 된 객체. 따라서이 경우에는 내 사용자 작업 테이블과 같이이다 :
class UserAction:
pass
user_actions = Table('user_action', metadata,
Column('id', Integer, autoincrement=True, primary_key=True),
Column('module', String(30)),
Column('created', DateTime, default=datetime.now),
Column('user_id', Integer, ForeignKey('user.id'))
)
뉴스 테이블 (사용자 동작을 통해 액세스 할 수있는 개체 중 하나) :
class News:
pass
news = Table('news', metadata,
Column('id', Integer, autoincrement=True, primary_key=True),
Column('title', String(30), nullable=False),
Column('action_id', Integer, ForeignKey('user_action.id'))
)
그리고 매퍼 :
mapper(UserAction, user_actions, polymorphic_on=user_actions.c.module, polymorphic_identity='user_action')
mapper(News, news, inherits=UserAction, polymorphic_identity='news')
당신이 볼 수 있듯이, 뉴스 객체와 그와 관련된 USER_ACTION 기록 사이에 명확한 일대일 관계가있다. user_action 외래 키가 뉴스 테이블에 있기 때문입니다. 많은 사용자가 여러 개의 다른 객체 유형을 선호 할 수있는 다형성 관계를 만드는 방법을 찾고자한다면 어떻게해야할까요? 정말 고마워.
는
다형성 모델과 다 대다 관계를 일대일로 만드는 데 차이가 없습니다. 좀 더 정확하거나 작동하지 않거나 적응하기 원하는 코드 샘플을 게시 할 수 있습니까? –