pyOut
Янв. 10, 2010 14:24:48
Подскажите что с точки зрения Django более правильно/эффективно/быстрее использовать get_absolute_url или все же reverse?
Александр Кошелев
Янв. 10, 2010 15:53:08
Правильно реализовывать get_absolute_url через reverse (точнее через декоратор permalink). Следовательно get_absolute_url становится шорткатом к reverse для конкретного объекта - так что не имеет значения что использовать. Вы можете выбирать в каждом конкретном случае что удобней.
AlexKiriukha
Янв. 13, 2010 00:26:21
Использую get_absolute_url как описал Daevaorn. Мне кажется это правильнее. Потому что завтра у вас может получиться другое правило создания абсолютного url (например была выборка по id, стала по slug'u). В случае с get_absolute_url Вам не нужно будет менять все места, где Вы реверсили по id на slug (т.е. это уже сделано в одном месте - в get_absolute_url). DRY же :-)
tezro
Янв. 14, 2010 03:21:42
Кстати, если есть приложение News с новостями. Вызов элемента новости идёт при обращении по /periodicals/news/2009/jan/01/slug-slug/ В корневом urls.py - (r'^periodicals/news/', include('apps.news.urls')),
Чему равен get_absolute_url новости?
poltergeist
Янв. 14, 2010 22:45:29
def get_absolute_url(self):
return reverse('apps.news.views.your_view_here', kwargs={'slug':self.slug, ... })
Как-то так.