

def generate_join_list(self, models):
    join_list = []
    joins = self.join_meta
    stack = [self.model]
    while stack:
        current = stack.pop()
        if (current not in joins):
            continue
        for join in joins[current]:
            metadata = join.metadata
            if ((metadata.dest in models) or (metadata.dest_model in models)):
                join_list.append(metadata)
                stack.append(join.dest)
    return join_list

dataset/ETHPy150Open coleifer/peewee/peewee.py ModelQueryResultWrapper.generate_join_list/original