2016-07-20 2 views
0
이것은 내가 일이 쿼리를 가지고
class Candidate(Base): 
    __tablename__ = 'candidates' 
    id = Column(Integer, primary_key=True) 
    first = Column(String, nullable=False) 
    last = Column(String) 
    title = Column(String) 
    company = Column(String, nullable=False) 


    def __repr__(self): 
    return "<Candidate(first='%s', last='%s', title = '%s', company='%s')>" % (self.first, self.last, self.title, self.company) 

## Add user 
morgan = Candidate(first='john', last='doe', title='some_title', company='some_company') 
session.add(morgan) 
session.commit() 

은 SQLAlchemy의 오류에 참여 쓰기 : sqlalchemy.exc.InvalidRequestError :

을 만든 첫 번째 테이블

:

morgan = session.query(Candidate).filter(Candidate.first=='morgan').first() 

을하지만 두 번째를 추가 할 때 테이블, 작동을 멈 춥니 다.

class Roles(Base): 
    __tablename__ = 'role' 
    id = Column(Integer, primary_key=True) 
    role = Column(String, nullable=False) 
    user_id = Column(Integer, ForeignKey('candidates.id')) 

    user = relationship("Candidate", back_populates="role") 

    def __repr__(self): 
    return "<Roles(role='%s')>" % (self.role) 

나는이 뭔가 잘못하고 있어요 있으리라 믿고있어 :

Candidate.role = relationship("Roles", order_by=Roles.id, back_populates='user') 

다시

morgan = session.query(Candidate).filter(Candidate.first=='morgan').first() 

이 검색을 시도하고 나는이 오류를 얻을

sqlalchemy.exc.InvalidRequestError: One or more mappers failed to initialize - can't proceed with initialization of other mappers. Original exception was: Mapper 'Mapper|Candidate|candidates' has no property 'role' 

답변

0

나는 SQLAlchemy에 상당히 익숙하지만 나는 잉크를 사용하여 역할 테이블 아래의 조인 관계를 다음과 같이 업데이트해야합니다.

user = relationship("Candidate", back_populates="role", order_by=id).