File tree Expand file tree Collapse file tree 2 files changed +8
-3
lines changed
Expand file tree Collapse file tree 2 files changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -191,12 +191,12 @@ def __getstate__(self):
191191 """return value of object for pickling.
192192 needed explicitly because __slots__() defined.
193193 """
194- return self .__str__ ()
194+ return self .__id
195195
196- def __setstate__ (self , oid ):
196+ def __setstate__ (self , value ):
197197 """explicit state set from pickling
198198 """
199- self .__validate ( oid )
199+ self .__id = value
200200
201201 def __str__ (self ):
202202 return self .__id .encode ("hex" )
Original file line number Diff line number Diff line change 1515"""Tests for the objectid module."""
1616
1717import datetime
18+ import pickle
1819import warnings
1920import unittest
2021import sys
@@ -124,5 +125,9 @@ def test_from_datetime(self):
124125 oid = ObjectId .from_datetime (aware )
125126 self .assertEqual (as_utc , oid .generation_time )
126127
128+ def test_pickling (self ):
129+ orig = ObjectId ()
130+ self .assertEqual (orig , pickle .loads (pickle .dumps (orig )))
131+
127132if __name__ == "__main__" :
128133 unittest .main ()
You can’t perform that action at this time.
0 commit comments