Skip to content

Commit 6bbb289

Browse files
committed
Merge pull request #3701 from Cheglader/master
Fix #3628 by implementing __getnewargs__()
2 parents b8d109f + 4b59681 commit 6bbb289

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

rest_framework/relations.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ def __new__(self, url, name):
3232
ret.name = name
3333
return ret
3434

35+
def __getnewargs__(self):
36+
return(str(self), self.name,)
37+
3538
is_hyperlink = True
3639

3740

tests/test_relations.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,3 +206,14 @@ def test_get_value_multi_dictionary_partial(self):
206206

207207
mvd = MultiValueDict({'baz': ['bar1', 'bar2']})
208208
assert empty == self.field.get_value(mvd)
209+
210+
211+
class TestHyperlink:
212+
def setup(self):
213+
self.default_hyperlink = serializers.Hyperlink('http://example.com', 'test')
214+
215+
def test_can_be_pickled(self):
216+
import pickle
217+
upkled = pickle.loads(pickle.dumps(self.default_hyperlink))
218+
assert upkled == self.default_hyperlink
219+
assert upkled.name == self.default_hyperlink.name

0 commit comments

Comments
 (0)