class Category(models.Model):
'''Category for men's and women's items'''
gender = models.IntegerField(choices=[
(1, 'Women'),
(2, 'Men'),
], default=1)
name = models.CharField(max_length=100)
description = models.CharField(max_length=300, blank=True)
uploaded_date = models.DateTimeField(
auto_now_add=True, null=True, blank=True)
class Meta():
verbose_name_plural = 'Categories'
def __str__(self):
return self.get_gender_display() + ' ' + self.name
def get_absolute_url(self):
if # condition: more than 1 value passed from url
return reverse('boutique:category', kwargs={'gender': self.get_gender_display(), 'category_pk': self.pk})
else:
return reverse('boutique:show-all', kwargs={'gender': self.get_gender_display()})
Вопрос : как отработать функцию logi c для get_absolute_url
для более динамичной работы? Или это не должно работать динамически? В приведенном выше операторе if я хочу разместить условие, которое проверяет, сколько значений передано из URL, чтобы он мог решить, какое представление отображать. Является ли это возможным? или я должен просто создать get_FOO_url()
функцию отдельно для рендеринга каждого представления с различными значениями, передаваемыми из URL?