Python SQLAlchemy使用inspector确定整数属性是否为外键

Python SQLAlchemy使用inspector确定整数属性是否为外键,python,sqlalchemy,Python,Sqlalchemy,我定义的sqlalchemy模型如下: class Dog(Model): __tablename__ = 'dog' id = db.Column(db.Integer, primary_key=True) owner = db.Column(db.Integer, db.ForeignKey('owner.id')) 我想使用inspector来确定每个属性的类型,但是我在确定如何访问我想要的东西时遇到了困难,包括(a)每个属性的类型和(b)我传递到列中的所有其他

我定义的sqlalchemy模型如下:

class Dog(Model):
    __tablename__ = 'dog'

    id = db.Column(db.Integer, primary_key=True)
    owner = db.Column(db.Integer, db.ForeignKey('owner.id'))
我想使用inspector来确定每个属性的类型,但是我在确定如何访问我想要的东西时遇到了困难,包括(a)每个属性的类型和(b)我传递到
列中的所有其他属性

我尝试了以下方法:

for column in inspect(target_class).columns:
    print column.type
这将返回:

INTEGER
INTEGER
但我真的想要

INTEGER
FOREIGN_KEY
或者至少以某种方式识别我正在使用第二个整数来标识另一个表


最正确的方法是什么?如果可能的话,我还想抓取我传递到
db.Column
的所有KWARG。您可以查看
Column
上的
外键
属性:

for column in inspect(Dog).columns:
    print column.foreign_keys
# set([])
# set([ForeignKey('owner.id')]
kwargs还设置了其他属性,如
主键

for column in inspect(Dog).columns:
    print column.primary_key
# True
# False