2011-09-09 115 views
1

我可能是一個noob問題,但...有沒有在models.py中使用請求的方式?請求在Django models.py

喜歡的東西:

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

或者,也許使用做好這項工作的post_init方法。

謝謝。

+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)