From 2fd416965651331e56e56791b6032906b3a26285 Mon Sep 17 00:00:00 2001 From: Bastien Gerard Date: Mon, 17 May 2021 22:37:35 +0200 Subject: [PATCH] Fix instance._qs that was failing due to bad parametrization that went unnoticed --- mongoengine/document.py | 2 +- tests/document/test_instance.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/mongoengine/document.py b/mongoengine/document.py index fa8960fa..0ba5db12 100644 --- a/mongoengine/document.py +++ b/mongoengine/document.py @@ -574,7 +574,7 @@ class Document(BaseDocument, metaclass=TopLevelDocumentMetaclass): def _qs(self): """Return the default queryset corresponding to this document.""" if not hasattr(self, "__objects"): - self.__objects = QuerySet(self, self._get_collection()) + self.__objects = QuerySet(self.__class__, self._get_collection()) return self.__objects @property diff --git a/tests/document/test_instance.py b/tests/document/test_instance.py index 21f2c82e..1469c9bb 100644 --- a/tests/document/test_instance.py +++ b/tests/document/test_instance.py @@ -407,6 +407,16 @@ class TestDocumentInstance(MongoDBTestCase): assert person.name == "Test User" assert person.age == 30 + def test__qs_property_does_not_raise(self): + # ensures no regression of #2500 + class MyDocument(Document): + pass + + MyDocument.drop_collection() + object = MyDocument() + object._qs().insert([MyDocument()]) + assert MyDocument.objects.count() == 1 + def test_to_dbref(self): """Ensure that you can get a dbref of a document.""" person = self.Person(name="Test User", age=30)