Skip to content

Models in ListField are not validated when calling .validate() #136

@paulopaixaoamaral

Description

@paulopaixaoamaral

If we have a ListField with items of type models.Base, for example:

from jsonmodels import models, fields

class Cat(models.Base):
    name = fields.StringField(required=True)

class Person(models.Base):
    pets = fields.ListField([Cat])

And we call .validate() on the model:

person = Person(pets=[Cat()])
person.validate()

Then nothing will happen, but if we call .to_struct() on the model:

person = Person(pets=[Cat()])
person.to_struct()

Then a ValidationError is raised:

>>> jsonmodels.errors.ValidationError: ("Error for field 'name'.", ValidationError('Field is required!'))

Is this working as intended or should the list call .validate() on its items if the item is an instance of a model?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions