我定义了像这样的sqlalchemy模型:
class Dog(Model):
__tablename__ = 'dog'
id = db.Column(db.Integer, primary_key=True)
owner = db.Column(db.Integer, db.ForeignKey('owner.id'))
我想使用检查器来确定每个属性的类型,但是我无法弄清楚如何访问我想要的东西,其中包括(a)每个属性的类型和(b)我已经传递到Column
的所有其他属性。
我尝试了以下内容:
for column in inspect(target_class).columns:
print column.type
返回:
INTEGER
INTEGER
但我真的喜欢
INTEGER
FOREIGN_KEY
或至少某种方式来识别我使用第二个整数来识别另一个表。
最正确的方法是什么?如果可能的话,我也有兴趣抓住我传入db.Column
的所有kwargs。
答案 0 :(得分:2)
您可以查看foreign_keys
上的Column
媒体资源:
for column in inspect(Dog).columns:
print column.foreign_keys
# set([])
# set([ForeignKey('owner.id')]
kwargs还设置了其他属性,例如primary_key
:
for column in inspect(Dog).columns:
print column.primary_key
# True
# False