Django - фильтрация набора запросов на основе аннотированного массива
Упрощенный код:
serializers.py:
order_ids = serializers.ListField(
child = serializers.IntegerField()
)
views.py:
def get_queryset(self):
return MyModel.objects.all()
.annotate(
order_ids = ArrayAgg(
/*getting array of order ids */
)
)
Я хочу написать метод filter_queryset, который может фильтровать queryset на основе массива order_ids. Я пытался использовать "__contains", но это приводит к ошибке.
def filter_queryset(self, queryset):
order_id=request.query_params.get("order_id")
return queryset.filter(
order_ids__contains="order_id"
)
Ошибка:
type "serial []" doesnot exist
Есть ли способ фильтровать аннотированный массив?