Python getattr关键字参数筛选

Python getattr关键字参数筛选,python,django,python-3.x,Python,Django,Python 3.x,假设我有: if self.model_name == 'Column': model_objects = model_objects.filter(stub__in=params) elif self.model_name == 'Person': model_objects = model_objects.filter(web_slug__in=params) elif self.model_na

假设我有:

        if self.model_name == 'Column':
            model_objects = model_objects.filter(stub__in=params)
        elif self.model_name == 'Person':
            model_objects = model_objects.filter(web_slug__in=params)
        elif self.model_name == 'Tag':
            model_objects = model_objects.filter(name__in=params)
有没有一种干净的方法可以使用getattr/setattr使它像

def clean_cool_filter(model_name, search_param):
    # cool stuff


model_objects = clean_cool_filter('Column',  'stub')
我想我正在努力将字符串转换为关键字args


感谢您

对karthikr的解决方案稍加改进

def clean_cool_filter(model_name, params):
    clause = {
        "Column": 'stub__in',
        "Person": 'web_slug__in', 
        "Tag": 'name__in'
    }.get(model_name)
    if clause:
        return {clause: params}
    else:
        return {}
我想这样比较安全