SQLAlchemy: создание dict имен столбцов внешнего ключа для внешних ключей

#sqlalchemy

#sqlalchemy

Вопрос:

Использование таблицы:

 class Table3(Base):

    __tablename__ = 'table3'

    pkid = Column('pkid', INTEGER(unsigned=True), primary_key=True, nullable=False)
    table1_fkid = Column('table1_fkid', INTEGER(unsigned=True), ForeignKey('table1.pkid'), nullable=False)
    table2_fkid = Column('table2_fkid', INTEGER(unsigned=True), ForeignKey('table2.pkid'), nullable=False)
  

Я хотел бы создать / получить dict:

 d = {
    'table1_fkid': ForeignKey('table1.pkid'),
    'table2_fkid': ForeignKey('table2.pkid')
}
  

с помощью метода, в котором объект Table3 передается в качестве параметра. Какой наиболее эффективный способ написать это? Спасибо!

Ответ №1:

я понял это, но, пожалуйста, напишите, есть ли что-то более чистое:

 {c.name: c.foreign_keys for c in table.columns if len(c.foreign_keys) > 0}