Fix instance._qs that was failing due to bad parametrization that went unnoticed

This commit is contained in:
Bastien Gerard 2021-05-17 22:37:35 +02:00
parent 5209547a89
commit 2fd4169656
2 changed files with 11 additions and 1 deletions

View File

@ -574,7 +574,7 @@ class Document(BaseDocument, metaclass=TopLevelDocumentMetaclass):
def _qs(self): def _qs(self):
"""Return the default queryset corresponding to this document.""" """Return the default queryset corresponding to this document."""
if not hasattr(self, "__objects"): if not hasattr(self, "__objects"):
self.__objects = QuerySet(self, self._get_collection()) self.__objects = QuerySet(self.__class__, self._get_collection())
return self.__objects return self.__objects
@property @property

View File

@ -407,6 +407,16 @@ class TestDocumentInstance(MongoDBTestCase):
assert person.name == "Test User" assert person.name == "Test User"
assert person.age == 30 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): def test_to_dbref(self):
"""Ensure that you can get a dbref of a document.""" """Ensure that you can get a dbref of a document."""
person = self.Person(name="Test User", age=30) person = self.Person(name="Test User", age=30)