基于条目类型的get_absolute_url问题

时间:2011-05-31 07:02:25

标签: python django django-models

我有一个针对不同类型条目的模型:

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)

但是这个功能不起作用,我找不到,为什么。对于所有类型的条目,函数返回'PAGE'URl。

1 个答案:

答案 0 :(得分:2)

您应该查看self.entry_type的值,例如:

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