def group_by_rocnik(clanky): """ Vezme zadaný seznam článků a seskupí je podle ročníku. Vrátí seznam seznamů článků ze stejného ročníku.""" if len(clanky) == 0: return clanky clanky.order_by('cislo__rocnik__rocnik') skupiny_clanku = [] skupina = [] rocnik = clanky.first().cislo.rocnik.rocnik # první ročník for clanek in clanky: if clanek.cislo.rocnik.rocnik == rocnik: skupina.append(clanek) else: skupiny_clanku.append(skupina) skupina = [] skupina.append(clanek) rocnik = clanek.cislo.rocnik.rocnik skupiny_clanku.append(skupina) return skupiny_clanku