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)