def extend(cls): #1. 多表join #2. 多字段映射同一个model author = User.alias() relyed_user = User.alias() return cls.select(cls, Question, relyed_user.id, relyed_user.nick_name, author.id, author.nick_name).join( Question, join_type=JOIN.LEFT_OUTER, on=cls.question).switch(cls).join(author, join_type=JOIN.LEFT_OUTER, on=cls.user).switch(cls).join( relyed_user, join_type=JOIN.LEFT_OUTER, on=cls.reply_user )
def extend(cls): answer_author = User.alias() answer_relyed_user = User.alias() return cls.select(cls, Question, answer_relyed_user.id, answer_relyed_user.nick_name, answer_author.id, answer_author.nick_name).join( Question, join_type=JOIN.LEFT_OUTER, on=cls.question).switch(cls).join( answer_author, join_type=JOIN.LEFT_OUTER, on=cls.user).switch(cls).join( answer_relyed_user, join_type=JOIN.LEFT_OUTER, on=cls.reply_user)
def extend(cls): # 多表join # 多字段映射同一个model author = User.alias() relyed_user = User.alias() return cls.select( cls, Post, relyed_user.id, relyed_user.nick_name, author.id, author.nick_name).join(Post, join_type=JOIN.LEFT_OUTER, on=cls.post).switch(cls).join( author, join_type=JOIN.LEFT_OUTER, on=cls.user).switch(cls).jonin( relyed_user, join_type=JOIN.LEFT_OUTER, on=cls.reply_user)
def extend(cls): #1. 多表join #2. 多字段映射同一个model # alias()起别名 # switch(cls) 切换到cls 如果直接join 会报错 author = User.alias() relyed_user = User.alias() return cls.select( cls, Post, relyed_user.id, relyed_user.nick_name, author.id, author.nick_name).join(Post, join_type=JOIN.LEFT_OUTER, on=cls.post).switch(cls).join( author, join_type=JOIN.LEFT_OUTER, on=cls.user).switch(cls).join( relyed_user, join_type=JOIN.LEFT_OUTER, on=cls.reply_user)