Skip to main content

Simple and flexible model validator for Peewee ORM.

Project description

A simple and flexible model and data validator for Peewee ORM.

Build Status Code Coverage Version Downloads

Requirements

  • python >= 3.3

  • peewee >= 2.8.0

  • python-dateutil >= 2.5.0

Installation

This package can be installed using pip:

pip install peewee-validates

Usage

Here’s a quick teaser of what you can do with peewee-validates:

import peewee
from peewee_validates import ModelValidator

class Category(peewee.Model):
    code = peewee.IntegerField(unique=True)
    name = peewee.CharField(null=False, max_length=250)

obj = Category(code=42)

validator = ModelValidator(obj)
validator.validate()

print(validator.errors)

# {'name': 'required field', 'code': 'must be unique'}

In fact, there is also a generic validator that does not even require a model:

from peewee_validates import Validator, Field

class SimpleValidator(Validator):
    name = Field(str, required=True, max_length=250)
    code = Field(str, required=True, max_length=4)

validator = SimpleValidator(obj)
validator.validate({'code': 'toolong'})

print(validator.errors)

# {'name': 'required field', 'code': 'must be at most 5 characters'}

Check out the Usage documentation for more details.

Todo

  • More documentation

  • More examples

Feedback

This package is very immature. If you have any comments, suggestions, feedback, or issues, please feel free to send me a message or submit an issue on Github.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

peewee-validates-0.3.0.tar.gz (6.9 kB view hashes)

Uploaded Source

Built Distribution

peewee_validates-0.3.0-py3-none-any.whl (8.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page