Django将参数传递给模型中的自定义方法(或访问请求)

时间:2011-05-31 09:30:30

标签: django django-models

我正在尝试通过Django模型中的自定义方法实现一些自定义登录。我想知道它是否可能:

  • 以自定义方式获取request.user
  • 获取以方法
  • 发出请求的用户
  • 或者将参数传递给自定义方法

考虑做这样的事情:

class OneModel(models.Model):
    (...)

    def viewed(self):
        profile = request.user.profile
        viewed = self.viewed_episodes.filter(user=profile).exists()
        if viewed: return True
        else: return None

我想到的另一种可能性是:

class OneModel(models.Model):
    (...)

    def viewed(self, user):
        profile = user.profile
        viewed = self.viewed_episodes.filter(user=profile).exists()
        if viewed: return True
        else: return None

但我认为这两种情况都不可能。也许我需要的是模板标签?

1 个答案:

答案 0 :(得分:5)

第二个是正确的。

def viewed(self, user):
    return self.viewed_episodes.filter(user=user.profile).exists() or None