У меня очень странная проблема при отображении отфильтрованных результатов.
Вот мой метод API:
...
@list_route(methods=['GET'], url_path='internal-users')
def internal(self, request, *args, **kwargs):
users = models.User.objects.internal_users()
data = self.get_serializer(users, many=True, context={'request': request}).data
return response.Ok(data)
...
Вот вызов internal_users()
модели User:
...
def internal_users(self) -> Union[QuerySet, List['User']]:
queryset = super(UserManager, self).get_queryset()
queryset = queryset.filter(role_policy__gte=constants.UserRolePolicy.editor) # role_polict >= 63
return queryset
...
До этого момента элемент управления ->
показывает правильное формирование запроса и результаты.
...
@list_route(methods=['GET'], url_path='internal-users')
def internal(self, request, *args, **kwargs):
users = models.User.objects.internal_users()
# -> correct results
data = self.get_serializer(users, many=True, context={'request': request}).data
return response.Ok(data)
...

Однако, как только я передаю свои объекты в сериализатор в следующей строке, результаты автоматически уменьшаются только до тех пользователей, у которых роль role_policy.РАВНО 63.
Вот сериализатор:
class UserListSerializer(serializers.ModelSerializer):
class Meta:
model = models.User
fields = [
'id',
'uuid',
'email',
'given',
...
'phone',
]
В чем может быть проблема?Пожалуйста помоги.