docs: def get_permissions(self, obj):
          """Return users and groups with ``view`` permission on the current object.
  
          Return a dict with two keys - ``users`` and ``groups`` - which
          contain list of ids of users/groups with ``view`` permission.
          """
          # TODO: Optimize this for bulk running
          filters = {
              'object_pk': obj.id,
              'content_type': ContentType.objects.get_for_model(obj),
              'permission__codename__startswith': 'view',
          }
          return {
              'users': list(
                  UserObjectPermission.objects.filter(**filters).distinct('user').values_list('user_id', flat=True)
              ),
              'groups': list(
                  GroupObjectPermission.objects.filter(**filters).distinct('group').values_list('group', flat=True)
              ),
              'public': UserObjectPermission.objects.filter(user__username=ANONYMOUS_USER_NAME, **filters).exists(),
          }