timster / peewee-validates

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

Home Page:https://peewee-validates.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

peewee-validates

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

Build Status

Code Coverage

Version

Downloads

Documentation

Requirements

  • python >= 3.3
  • peewee >= 2.8.2 (including Peewee 3)
  • 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': 'This field is required.', 'code': 'Must be a unique value.'}

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

from peewee_validates import Validator, StringField

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

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

print(validator.errors)

# {'name': 'This field is required.', 'code': 'Must be at most 5 characters.'}

Documentation

Check out the Full Documentation for more details.

About

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

https://peewee-validates.readthedocs.io

License:MIT License


Languages

Language:Python 98.6%Language:Makefile 1.4%