fuzzy_key, fuzzy_val,contain_str = None, None,'' print(params) condition = {} for k, v in params.items(): if "%" in str(v): fuzzy_key = copy.deepcopy(k) fuzzy_val = copy.deepcopy(v) fuzzy_val = fuzzy_val.replace("%", "") if fuzzy_key != None: # del params[fuzzy_key] contain_str +='.filter({}__icontains="{}")'.format(fuzzy_key,fuzzy_val) else: condition[copy.deepcopy(k)] = copy.deepcopy(v)
时间: 2024-02-14 13:05:54 浏览: 76
这段代码是一个Python函数,用于对传入的params参数进行处理,得到包含模糊查询条件的字符串contain_str和精确查询条件的字典condition。首先定义了三个变量fuzzy_key、fuzzy_val和contain_str,其中fuzzy_key和fuzzy_val用于存储模糊查询条件的键和值,contain_str用于构造包含模糊查询条件的字符串。然后打印输出params参数,接下来遍历params字典,对每个键值对进行判断。如果值中包含%字符,就将该键和值保存到fuzzy_key和fuzzy_val中,并将fuzzy_val中的%字符删除,然后构造一个包含模糊查询条件的字符串,加入到contain_str中。如果值中不包含%字符,就将该键值对保存到condition字典中。最后返回contain_str和condition。
阅读全文