Используйте строковый аргумент в форме ForeignKey
, то есть 'tablename.columnkey'
:
person = sa.Table(
"person",
metadata,
sa.Column("person_id", sa.BigInteger, primary_key=True, autoincrement=True),
sa.Column("mother", sa.ForeignKey("person.person_id")), # Note: no `.c.`
)
Строковый аргумент обрабатывается лениво, так что он может ссылаться на примеры таблиц из другихмодули без необходимости их импорта, если они существуют в метаданных.В этом случае он позволяет ссылаться на саму таблицу.