parent
5e7efcc8c2
commit
f3d265bbe0
@ -167,6 +167,14 @@ class Document(BaseDocument):
|
||||
value._changed_fields = []
|
||||
return value
|
||||
|
||||
def to_dbref(self):
|
||||
"""Returns an instance of :class:`~pymongo.dbref.DBRef` useful in
|
||||
`__raw__` queries."""
|
||||
if not self.pk:
|
||||
msg = "Only saved documents can have a valid dbref"
|
||||
raise OperationError(msg)
|
||||
return pymongo.dbref.DBRef(self.__class__._meta['collection'], self.pk)
|
||||
|
||||
@classmethod
|
||||
def register_delete_rule(cls, document_cls, field_name, rule):
|
||||
"""This method registers the delete rules to apply when removing this
|
||||
|
@ -777,6 +777,14 @@ class DocumentTest(unittest.TestCase):
|
||||
self.assertEqual(person.name, "Test User")
|
||||
self.assertEqual(person.age, 30)
|
||||
|
||||
def test_to_dbref(self):
|
||||
"""Ensure that you can get a dbref of a document"""
|
||||
person = self.Person(name="Test User", age=30)
|
||||
self.assertRaises(OperationError, person.to_dbref)
|
||||
person.save()
|
||||
|
||||
person.to_dbref()
|
||||
|
||||
def test_reload(self):
|
||||
"""Ensure that attributes may be reloaded.
|
||||
"""
|
||||
|
Loading…
x
Reference in New Issue
Block a user