在SqlAlchemy中,如何在合并时忽略m2m关系属性?
问题描述:
在我的模型,用户和角色中有一个m2m关系。在SqlAlchemy中,如何在合并时忽略m2m关系属性?
我想合并一个角色,但我不希望此合并对用户和角色关系有任何影响。不幸的是,由于一些复杂的原因,role.users如果不是空的。
我试图设置role.users =无,但SA抱怨没有不是一个列表。
在这一刻,我使用sqlalchemy.orm.attributes.del_attribute,但我不知道它是否为此提供。
答
您最好修复您的代码,以避免为要合并的项目设置role.users
。但还有另一种方法 - 为此关系设置cascade='none'
。然后你失去了从Role
方保存关系的能力,你必须保存User
和roles
属性集。