get_absolute_url() 取决于属性

get_absolute_url() depending on attribute

我正在尝试 return 仅当条件为真时 url 但看起来 Django 不允许这样做:

def get_absolute_url(self):
    if self.display_personal_page:
        return reverse('users:detail', args=[self.slug])
    else:
        return None

Django 不使用从 get_absolute_url 返回的内容来确定是否在站点 link 上显示视图。但是,它确实在 ModelAdmin class 上提供了一个 get_view_on_site_url 方法,这就是您应该重写以创建逻辑的方法。