Как отфильтровать набор запросов на основе значения поля MethodSerializerField?
У меня есть сериализаторы с полем SerializerMethodField
class EmployeeSerializer(serializers.Serializer):
id = serializers.IntegerField()
name = serializers.CharField()
group_ids = serializers.SerializerMethodField()
def get_group_ids(self):
/* this method returns array of
group_ids employee can me member of */
есть вид:
class EmployeeViewSet(GenericViewSet):
serializer_class = EmployeeSerializer
def get_queryset(self):
return Employee.objects.all()
Если я хочу получить список всех сотрудников, я вызываю этот url и получаю следующий результат:
http://localhost:8080/employees/
[
{
"id": 1,
"name": "Ann",
"group_ids": [
90,
100
]
},
{
"id": 2,
"name": "Tom",
"group_ids": [
90,
102
]
}
]
Я хочу отфильтровать результат по group_id. Чтобы получилось что-то вроде этого:
http://localhost:8080/employees/?group_id=102
и в результате я получу только:
[
{
"id": 2,
"name": "Tom",
"group_ids": [
90,
102
]
}
]
Есть ли возможность фильтровать набор запросов на основе вычисляемого значения, например, значения поля SerializerMethodField? Заранее спасибо