Передавать ли методу 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 ?
Заранее спасибо :) !