Python SQLAlchemy使用inspector确定整数属性是否为外键
我定义的sqlalchemy模型如下: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)我传递到列中的所有其他
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