Проблема с get_absolute_url в зависимости от типа записи - PullRequest
0 голосов
/ 31 мая 2011

У меня есть одна модель для разных типов записей:

POST = 1
PAGE = 2
ARTICLE = 3
ENTRY_TYPE = (
    (POST, "Blog Post"),
    (PAGE, "Page"),
    (ARTICLE, "Article"),
)

entry_type = models.IntegerField(choices=ENTRY_TYPE, default=POST) 

И функция для определения абсолютного URL для различных типов записей на основе этого типа:

def get_absolute_url(self):        
    if self.PAGE:
        return '/%s/' % (self.slug)
    elif self.ARTICLE:
        return '/article/%s/' % (self.slug)
    elif self.POST:
        return '/blog/%s/' % (self.slug)

Но эта функция не работает, и я не могу понять, почему. Для всех типов записей функция возвращает URL «PAGE».

1 Ответ

2 голосов
/ 31 мая 2011

Вы должны смотреть на значение self.entry_type, например:

if self.entry_type == self.PAGE:
    return '/%s/' % (self.slug)
...