Skip to main content
 首页 » 编程设计

python之有没有办法重构这个 **kwarg-django

2024年08月20日30telwanggs

我一直在一遍又一遍地调用相同的模型,但有些东西具有不同的领域,但总会有一些总是相同的。我在想有没有办法重构它?

例如。

def x(get_filter, **kwargs): 
    # if blah  
    return User.object.get(is_active=True, is_deleted=False, is_staff=False, **kwargs) 
    # if blah  
    return User.object.filter(is_active=True, is_deleted=False, is_staff=False, **kwargs) 
    # if blah  
    return User.object.get(is_active=True, is_deleted=False, **kwargs) 
    # if blah  
    return User.object.get(is_active=True, is_deleted=False, is_staff=False, is_superuser=True, **kwargs) 

可以看出,is_active=True 和is_deleted=False 总是被使用。 我想做类似的事情

is_deleted = {'is_deleted': False} 
is_active = {'is_active': True} 
    User.object.filter( is_staff=False, **is_active, **is_deleted,**kwargs) 

在我的IDE中,它会说不允许重复**

有人可以给我一个想法吗?

提前致谢

请您参考如下方法:

当然,试试这个

options = {'is_deleted': False, 
           'is_active': True} 
 
kwargs.update(options) 
User.object.filter(is_staff=False, **kwargs)