From cd8368b7705cb3ae5989e8bc4f443c04a0dae43c Mon Sep 17 00:00:00 2001 From: Fatih Demir Date: Fri, 25 Jul 2025 21:40:24 +0300 Subject: [PATCH] If collection.objects is a partial function, call it first --- mongoengine/dereference.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mongoengine/dereference.py b/mongoengine/dereference.py index 38da2e873..c79048e67 100644 --- a/mongoengine/dereference.py +++ b/mongoengine/dereference.py @@ -1,3 +1,5 @@ +from functools import partial + from bson import SON, DBRef from mongoengine.base import ( @@ -174,7 +176,10 @@ def _fetch_objects(self, doc_type=None): refs = [ dbref for dbref in dbrefs if (col_name, dbref) not in object_map ] - references = collection.objects.in_bulk(refs) + if isinstance(collection.objects, partial): + references = collection.objects().in_bulk(refs) + else: + references = collection.objects.in_bulk(refs) for key, doc in references.items(): object_map[(col_name, key)] = doc else: # Generic reference: use the refs data to convert to document