如何在django模型管理器中保存变量?

时间:2013-04-08 02:31:56

标签: python django django-models

在django模型管理器中,如果多个方法具有相同的参数,每次调用方法时是否必须传递它们?

class MyManager(model.Manager):
    def show(self,request,A,B)
        pass

    def hide(self,request,A,B,C)
        pass

您可以看到request A B是相同的参数, 我可以这样:

 class MyManager(model.Manager):
    def __init__(self,request,A,B):
        self.request = request
        self.A= A
        self.B= B

    def show(self)
        pass

    def hide(self,C)
        pass

1 个答案:

答案 0 :(得分:0)

在服务器启动时构建关联的Model类时,将调用

__init__()。你知道那些变量在服务器启动时是什么吗?它们是否会在服务器运行时的整个生命周期内保持不变?

如果这两个问题的答案是肯定的,那么请继续使用此解决方案。

否则你每次都需要传递它们。