Я настраиваю некоторые карты сайта Django.Это работает очень хорошо для всех объектов, которые у меня есть, но мне любопытно, как мне это сделать, если я хотел бы поместить что-то в карту сайта, с которой не связано ни одного объекта.У меня есть список категорий, и я могу просто вернуть набор запросов всех категорий.URL-адреса будут example.com/cats/12 или что у вас есть.У меня также есть своего рода псевдо корневая категория, которая не связана с объектом категории.Эта страница (example.com/cats/) - это просто представление, которое включает в себя все подкатегории без родителей и список продуктов.Дело в том, что я не могу использовать get_absolute_url, потому что нет «корневого» объекта.Мое решение состояло в том, чтобы получить набор запросов в виде списка, добавить объект «Нет», а затем получить соответствующий URL:
class CatsSitemap(Sitemap):
changefreq = "weekly"
priority = 0.4
def items(self):
cats = list(Category.objects.all())
cats.append(None)
return cats
def location(self, obj):
if(obj != None):
return reverse('cats_sub_category', args=[obj.pk])
else:
return reverse('cats_root')
Кто-нибудь видит проблему с этим?Будет ли возвращение их в виде списка убить производительность?Реально у нас будет, возможно, сотни категорий, но, вероятно, не намного больше, чем это.Слишком много?