Почему я получаю TraceBack sqlalchemy.exc.NoForeignKeysError: Could not determine join condition between parent/child tables on relationship County.Legislators - there are no foreign keys linking these tables. Ensure that referencing columns are associated with a ForeignKey or ForeignKeyConstraint, or specify a 'primaryjoin' expression.
Как исправить этот sqlalchemy.exc.NoForeignKeysError?
class County(Base):
__tablename__ = 'tblCounty'
CountyCode = Column('CountyCode', String, primary_key=True)
Legislators = relationship('Legislators', backref='County', lazy='dynamic')
class Legislators(Base):
__tablename__ = 'VLegislators'
EmployeeNo = Column('EmployeeNo', String, primary_key=True)
CountyCode = Column('CountyCode', String, ForeignKey('County.CountyCode'))
Я пытаюсь отобразить общественный обращенную базу данных MS SQL, представленные в штате Нью-Гемпшир. Таким образом, никаких изменений схемы не разрешено.
Почему он жалуется на отсутствие отношения ForeignKey, когда четко определено в законодательстве класса?
ошибка полностью о настройке ОРМ; на этом этапе (или на самом деле на любом этапе) SQLA не знает и не заботится о том, что FK физически находится в db – Eevee
. Обратите внимание: поскольку вы явно предоставляете имена столбцов в любом случае, вы можете использовать имена атрибутов, такие как 'country_code', которые читаются более естественно как атрибуты в Python – Eevee