2024-09-24 02:22:59 发布
网友
我有5张桌子:
用户、项目、Dg、Ds和R
项目有3种隐私模式:私人、公共、项目
我需要的是:
这些关系是:
1N用户项目
1N工程总经理
1N用户Dg
1N Dg Ds
1N Ds R
它们可以是多个查询,也可以只是一个查询。如果有人能帮忙,或者提供一些可以帮助的资源,我将不胜感激。我已经研究过其他类似的问题,但我对这门学科还不熟悉,无法推断
from sqlalchemy.orm import aliased Dg2 = aliased(Dg) # project-wide visible R result1 = db.session.query( R, Ds.name).join( Ds).join( Dg).join( Project).filter( Project.acces_rights == 'project').join( Dg2).filter( Dg2.user_id == user_id) # personal R result2 = db.session.query( R, Ds.name).join( Ds).join( Dg).filter( Dg.user_id == user_id).join( Project).filter( Project.acces_rights == 'own' ) # all publicly visible reading points result3 = db.session.query( R, Ds.name).join( Ds).join( Dg).join( Project).filter( Project.acces_rights == 'public') results = result1.union(result2).union(result3)
相关问题 更多 >
编程相关推荐