我有一个python对象,它收集一些请求数据,所以我可以根据我通过GET方法收到的过滤器和分类器创建模型查询.(排序= ID&为了= DESC ...)
class Search( object ):
sorters = []
filters = []
Run Code Online (Sandbox Code Playgroud)
如果请求具有过滤器和分类器,则类属性将填充正确的参数.这很好用,查询构建正常.问题是当我触发第二个请求时,分拣机和过滤器会保留前一个请求中的值,因此Search对象不是新的但是持久的.
知道它为什么会这样吗?顺便说一下,我是python的新手,PHP(我的区域)将只为每个请求实例化一个新对象.
因为您正在以这种方式创建类变量而不是成员变量.类变量在每个实例之间共享(它们属于类,而不是实例); 它们与其他语言中的静态成员变量类似.
要创建成员变量,需要在构造函数中初始化它们,如下所示:
class Search(object):
def __init__(self):
self.sorters = []
self.filters = []
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
775 次 |
| 最近记录: |