Передавать ли методу Django Queryset триггеры базы данных

Я использую Django для своего бэкенда и мне интересно, попадает ли следующее действие в базу данных. Я знаю, что Django Querysets являются ленивыми, поэтому выполнение этого действия попадает в базу данных только один раз :

records = RecordModel.objects.all()
records = records.filter(id__in=[1, 2, 3])
records = records.filter(name__in=["some", "random", "strings"])
print(records)

В этом случае база данных действительно срабатывает, когда мы пытаемся вывести записи.

Но при передаче Queryset в качестве параметра метода. База данных попадает в базу данных 2 раза ?

Например:

def some_api_endpoint(request):
    records = RecordModel.objects.all()
    records = RecordModel.filter_queryset(records, request.query_params)
    return Response(MySerializer(records, many=True).data)

где filter_queryset выполняет некоторую фильтрацию набора запросов в соответствии с параметрами запроса.

Мне интересно, оцениваются ли records при передаче в filter_queryset и при возврате в Response ?

Заранее спасибо :) !

Вернуться на верх