我有两个具有一对多关系的映射类:
class Part(...):
product = relationship('products', backref=backref('parts'))
class Product(...):
pass
给定Part.product
,我可以反省这种关系,即获取属性名,也可以获取backref属性名:
>>> rel = Part.product # image it's passed in as a function parameter
>>> rel.property.key
'product'
>>> rel.property.backref[0]
'parts'
我也可以反过来访问这种关系:
>>> rel = Product.parts
>>> rel
<sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x3744fd0>
>>> rel.property.key
'parts'
但是,我不知道如何访问原始属性名称(又名 backref 的 backref 属性,在示例中又名“产品”):
>>> rel.property.backref is None
True
我必须在哪里挠痒痒Product.parts
才能获得'product'
?