尝试使用关联代理时出错。在
我得到了映射类A,与B的关系为0-n。B与C的关系为0-n。关联代理将从C访问A
class C(base):
a = association_proxy('b', 'a')
如果它的真的与B有关系,那么它可以正常工作。但是如果这个关系是null
,那么尝试访问myCinstance.a会抛出一个:AttributeError 'NoneType' object has no attribute 'a'
。
我想它可以很好地处理1-n关系,但是有没有办法让myCinstance.a返回None
而不是一个错误?(我看到了creator选项,但看起来只用于设置,而不是获取)。在
提前谢谢。在
我使用的是SqlAlchemy 0.7.5
编辑:我想出了一个简单的例子来描述问题https://gist.github.com/2225046
我从阅读http://docs.sqlalchemy.org/en/latest/orm/extensions/associationproxy.html#querying-with-association-proxies中相信,当您发出一个查询(即SQL使用EXISTS子句来捕捉不存在的B问题)时,这种情况就得到了处理。在
要使访问器快捷方式正常工作,需要使用getset\u factory参数:
相关问题 更多 >
编程相关推荐