Пример #1
0
 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
     )
Пример #2
0
 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)
Пример #3
0
 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)
Пример #4
0
    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)