我有一个这样的函数......这有助于我在调用查询时重写代码
def user_profile(self, **kwargs):
default_fields = {
'is_deleted': False,
'is_staff': False,
'is_active': False
}
kwargs.update(default_fields)
return Profile.objects.filter(**kwargs)
但是,让我们说,如果我不想在函数中添加另一个新参数,并且我想覆盖is_staff
字段,有时*可能只有20个查询中只有1个需要{ {1}}。
这是一种简单的方法吗?
我曾想过在函数中添加另一个参数来检测is_staff: True
是否有类似的东西。
但我想知道是否有更简单快捷的方法可以做到这一点?
提前感谢任何建议。
答案 0 :(得分:0)
试试这个:
def user_profile(self, **kwargs):
default_fields = {
'is_deleted': False,
'is_staff': False,
'is_active': False
}
default_fields.update(kwargs)
return Profile.objects.filter(**default_fields)
基本上只需将default_fields dict转换为基本字典,因此如果要覆盖' is_staff',只需通过kwargs传递is_staff。