文章内容

2019/11/17 17:42:31,作 者: 黄兵

'dynamic' loaders cannot be used with many-to-one/one-to-one relationships and/or uselist=False

今天按照这篇文章:SQLAlchemy 一对一关系设置一对一的时候,出现了如下错误:

sqlalchemy.exc.InvalidRequestError: One or more mappers failed to initialize - can't proceed with initialization of other mappers. Triggering mapper: 'mapped class PrivateNumberStock->private_number_phone_number_stock'. Original exception was: On relationship PrivateNumberStock.service_build_phone_numbers, 'dynamic' loaders cannot be used with many-to-one/one-to-one relationships and/or uselist=False.


出现问题的原因:

在使用一对一的时候,lazy不能设置为dynamic。

具体错误代码如下:

service_build_phone_numbers = db.relationship('ServiceBuildPhoneNumber',
                                              backref='private_number_phone_number_stock', lazy='dynamic',
                                              uselist=False)


解决方案:

删除lazy='dynamic'即可,如果设置成lazy='select',也是没有问题的。


黄兵个人博客原创。

转载请著名此处:黄兵个人博客 - 'dynamic' loaders cannot be used with many-to-one/one-to-one relationships and/or uselist=False

分享到:

发表评论

评论列表