flask_sqlalchemy join两个相同的表时,如何起别名

jike_0547220 Python 的数据库连接 最后由 上海小胖 于2017年05月25日回复

  • 1 回答
  • 1.4k 浏览
class Project(db.Model):
    __tablename__ = 'Project'

    Id = db.Column(db.Integer, primary_key=True)
    Name = db.Column(db.String(128))
    LatestVersion = db.Column(db.String(32))
    Desc = db.Column(db.String(256))
    Status = db.Column(db.String(32))
    UseChk = db.Column(db.Boolean)
    Leader = db.Column(db.Integer)
    Manager = db.Column(db.Integer)

class User(db.Model):
    __tablename__ = 'User'

    Id = db.Column(db.Integer, primary_key=True)
    UserId = db.Column(db.String(128))
    Name = db.Column(db.String(128))
    Password = db.Column(db.String(128))
    UseChk = db.Column(db.Boolean)
    Role = db.Column(db.String(32))
    CreateAt = db.Column(db.DateTime(), default=datetime.datetime.utcnow)

def test_join(query_projectId):
    query = db.session().query(Project.Name, User.Name, User.Name)
    result = query.join(User, Project.Leader == User.Id).join (User, Project.Manager == User.Id).filter(Project.Id == query_projectId).all()

join两个相同的表,但是不知道怎么起别名,所以这样的代码运行起来是有问题的,请老师解答,非常着急,谢谢