我搜索一种方法来优化我的Django的研究功能(在python中)。这时我有这个:
def search(acronym=None, name=None, reference=None):
queryset = Organization.objects
if acronym:
queryset = queryset.filter(acronym=acronym)
if name:
queryset = queryset.filter(name=name)
if reference:
queryset = queryset.filter(reference=reference)
return queryset
问题是,每次添加参数时,我都要添加if +过滤器等。 有一种方法可以把它放在循环中吗?
例如:
def search(acronym=None, name=None, reference=None):
queryset = Organization.objects
for arg in args :
if arg :
queryset = queryset.filter(arg = arg)
return queryset
或类似的东西?
提前致谢
答案 0 :(得分:0)
在函数定义中使用UIBarButtonItem *btnSort=[[UIBarButtonItem alloc]initWithTitle:@"right" style:UIBarButtonItemStylePlain target:self action:@selector(sortedDataCalled)];
self.navigationItem.rightBarButtonItem=btnSort;
}
-(void)sortedDataCalled {
NSLog(@"callBtn");
}
并使用字典理解过滤掉**kwargs
值项目,然后再将解压缩命名参数传递给{ {1}}:
None