fix: serialize None to null, for ObjectRef schema type
not sure how this didn't come up until now..anyway hopefully it's the right thing but we'll see
This commit is contained in:
parent
634c1b1fe5
commit
19cf6cf03a
2 changed files with 8 additions and 4 deletions
|
|
@ -357,15 +357,17 @@ class ObjectRef(colander.SchemaType):
|
|||
|
||||
def serialize(self, node, appstruct): # pylint: disable=empty-docstring
|
||||
""" """
|
||||
# nb. normalize to empty option if no object ref, so that
|
||||
# works as expected
|
||||
# normalize to empty option if no object ref, so that works as
|
||||
# expected
|
||||
if self.empty_option and not appstruct:
|
||||
return self.empty_option[0]
|
||||
|
||||
if appstruct is colander.null:
|
||||
# even if there is no empty option, still treat any false-ish
|
||||
# value as null
|
||||
if not appstruct:
|
||||
return colander.null
|
||||
|
||||
# nb. keep a ref to this for later use
|
||||
# keep a ref to this for later use
|
||||
node.model_instance = appstruct
|
||||
|
||||
# serialize to PK as string
|
||||
|
|
|
|||
|
|
@ -257,6 +257,8 @@ class TestObjectRef(DataTestCase):
|
|||
typ = mod.ObjectRef(self.request)
|
||||
value = typ.serialize(node, colander.null)
|
||||
self.assertIs(value, colander.null)
|
||||
value = typ.serialize(node, None)
|
||||
self.assertIs(value, colander.null)
|
||||
|
||||
# model instance
|
||||
person = model.Person(full_name="Betty Boop")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue