请求在django models.py中

时间:2011-09-09 19:09:42

标签: django django-models request models

我可能是一个noob问题,但是......有没有办法在models.py中使用请求?

类似的东西:

class MyModel (models.Model):
    User = models.ForeignKey(default=request.user)
    ...other fields...

或者也许使用post_init方法来完成这项工作。

感谢。

1 个答案:

答案 0 :(得分:3)

你给它的具体例子在Django中没用。 请求确实有一个上下文(发生HTTP的上下文),因此当您实例化MyModel时,它可能会也可能不可用。

你可以在你的观点中做到:

def index(request):
    myModel = MyModel(request.user)

在你的模特中:

class MyModel (models.Model):

    user = models.ForeignKey(User)

    def __init__(self, pUserName):
        self.user = User.objects.get(userName=pUserName)