Создание класса карты сайта, возвращающего URL с двумя аргументами

У меня есть набор элементов = [a,b,c]

У меня есть страница, которая принимает два элемента и сравнивает их.

Таким образом, URL выглядят следующим образом:

http://127.0.0.1:8000/compare/a/b

http://127.0.0.1:8000/compare/a/c

http://127.0.0.1:8000/compare/b/c

Как я могу сделать класс sitemap, чтобы представить их все?

*Это мой класс sitemap с одним аргументом

class ItemsSitemap(Sitemap):
    changefreq = "monthly"
    priority = 0.8

    def items(self):
        return Items.objects.order_by('id')

    def location(self, obj):
        return '/items/%s' % (obj.id)

Хорошо, вот как я заставил его работать:

from itertools import combinations    

class ComparisonSitemap(Sitemap):
    changefreq = "monthly"
    priority = 0.8

    def items(self):
        itemlist= Items.objects.order_by('id')
        itemids= itemlist.values_list('id',flat=True)
        pairs = list(combinations(itemids,2))
        return pairs

    def location(self,pairs):
        return '/comparison/{}/{}'.format(pairs[0],pairs[1])

Спасибо Iain за подсказку!

Вернуться на верх