300x250
반응형
model을 아래와 같이 Many to One으로 정의하고
class Tenants(db.Model):
tenant_id = db.Column(db.Integer, primary_key=True, nullable=False)
...
class TenantRoles(db.Model):
...
tenant_id = db.Column(db.Integer, db.ForeignKey('Tenants.tenant_id'), nullable=True)
tenant = db.relationship('Tenants', backref=db.backref('tenant_role'))
db상에서도 fk로 연결이 되어있는데
실행해보면 에러남
이 에러메시지의 최하단에 나오는 문구는 이것
sqlalchemy.exc.NoForeignKeysError: Could not determine join condition between parent/child tables on relationship TenantRoles.tenant - there are no foreign keys linking these tables. Ensure that referencing columns are associated with a ForeignKey or ForeignKeyConstraint, or specify a 'primaryjoin' expression.
뭐가 문제인고 하니
여기에서 아래 tenant의 db.relatiohship은 파이썬의 테이블 클래스 이름인 Tenant를 넣어주면 되지만
위에 있는 db.ForeignKey에는 db상의 테이블 이름을 넣어줘야 한다.
즉 Tenant가 아닌 tenant를 넣어야 하는 것
T를 t로 바꾸고 실행하면 잘됨
300x250
반응형
'IT > 파이썬' 카테고리의 다른 글
파이참 터미널에서 flask 명령 실행하기 ('flask'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다.) (0) | 2021.09.24 |
---|---|
git pull 받은 프로젝트의 requirements.txt 모듈 내려받기 (0) | 2021.09.24 |
파이참 프로젝트 루트 디렉토리 이름 변경 안되는 문제 (java.io.ioexception cannot rename) (0) | 2021.06.14 |
flask 에러 : TypeError: get() got an unexpected keyword argument '...' (0) | 2021.06.14 |
[플라스크] 앵커로 스크롤 유지하기 (0) | 2021.06.01 |