jazzband / jazzband/jsonmodels

Nullable is not working in to_struct()

Open
#140 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
343
Forks
50
PR merge metrics
No merged PRs in 30d

Description

```
class Person(models.Base):
nickname = fields.StringField(nullable=True)
person = Person()
>>> person.to_struct()
{
'nickname': None,
}

```
If you try to reproduce the example above from your documentation (Person with nullable Nickname to_struct()) it will return nothing, and not a `'nickname': None`.

That's because there's no nullable verification in parser.py to_struct() function. Could you add it please, like in the example below?

```
def to_struct(model):
"""Cast instance of model to python structure.

:param model: Model to be casted.
:rtype: ``dict``

"""
model.validate()

resp = {}
for _, name, field in model.iterate_with_name():
value = field.__get__(model)
if value is None and not field.nullable:
continue

value = field.to_struct(value)
resp[name] = value
return resp
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.