Я считаю, что group_names_list
должно существовать, и оно будет за пределами функции (по крайней мере, так имя функции имеет смысл). Таким образом, вы можете реализовать эту функцию следующим образом:
@register.filter(name='is_supervisor')
def is_in_groups(user, group_names_list):
result = False
for group_name in group_names_list:
result = result or Group.objects.get(name=group_name) in user.groups.all()
return result
и передать group_names_list
в функцию:
group_names_list = ['security supervisor', 'cage supervisor', 'casino supervisor', 'food bev supervisor']
РЕДАКТИРОВАТЬ: Благодаря@ Виллем Ван Онсем, мы можем реализовать эту функцию следующим образом:
@register.filter(name='is_supervisor')
def is_in_groups(user, group_names_list):
return Group.objects.filter(user=user, name__in=group_names_list)
Что, я думаю, должно быть более эффективным.