我有几个参数: 年龄、身高、体重等等
我需要通过这个参数进行搜索。 现在我可以这样做:
persons.vip = Person.get_vip()
params.search.age = request.GET.get('age')
if params.search.age:
range = params.search.age
persons.vip = persons.vip.filter(age__gte=range)
else:
do somethin
params.search.weight= request.GET.get('weight')
if params.search.weight:
range = params.search.weight
persons.vip = persons.vip.filter(age__gte=range)
else:
do somethin
对于其他参数,如高度等,使用相同的代码块
如何优化此代码并消除代码重复
这取决于
do somethin
块的作用如果我们假设它是空的,你可以有一个简单的地图,如:
然后对其进行迭代:
如果它不是空的,我会尝试思考是否有可能在参数循环之前的那些块中应用逻辑(如果有一些默认行为,我们应该用请求参数覆盖)
相关问题 更多 >
编程相关推荐