Мне было интересно, как создать пользовательское разрешение, которое проверяет, находится ли пользователь в определенной группе. Раньше у меня был декоратор, который я мог использовать для представления в кортеже имен групп вместе с пользовательским объектом, а затем проверить, был ли этот пользователь в указанных группах.
Т.е:
def in_group_views(*group_names):
"""Requires user membership in at least one of the groups passed in."""
def in_groups(u):
if u.is_authenticated():
if bool(u.groups.filter(name__in=group_names)) | u.is_superuser:
return True
return False
return user_passes_test(in_groups)
Как мне сделать это для DRF для просмотра, учитывая, что мне нужно проверить разные членства в группах для разных действий (POST, PUT, GET) и т.д.
Большое спасибо, Бен