{"repo":"eadwinCode/ninja-schema","free":true,"listed":false,"github":"https://github.com/eadwinCode/ninja-schema","clone":"git clone https://github.com/eadwinCode/ninja-schema.git","description":"Ninja Schema is Pydantic full support for Django ORM.","language":"Python","stars":65,"topics":["djantic","pydantic","django-schema","django-ninja","django-ninja-extra","django","pydantic-django"],"license":"MIT","category":"analytics","readme_excerpt":"Ninja Schema Ninja Schema converts your Django ORM models to Pydantic schemas with more Pydantic features supported. Inspired by : django-ninja and djantic Notice Starting version 0.13.4 , Ninja schema will support both v1 and v2 of pydantic library and will closely monitor V1 support on pydantic package. Requirements Python = 3.8 django = 3 pydantic = 1.6 Key features: - Custom Field Support : Ninja Schema converts django model to native pydantic types which gives you quick field validation out of the box. eg Enums, email, IPAddress, URLs, JSON, etc - Field Validator : Fields can be validated with model validator just like pydantic validator or root validator . Installation Example Checkout this sample project: https://github.com/eadwinCode/bookstoreapi Configuration Properties - model : Django Model - include : Fields to include, default: ' all ' . Please note that when include = all , model's PK becomes optional - exclude : Fields to exclude, default: set() - optional : Fields to mark optional, default: set() optional = ' all ' will make all schema fields optional - depth : defines depth to nested generated schema, default: 0 model validator( args, kwargs) model validator is a substitute for pydantic validator used for pre and post fields validation. There functionalities are the same. More info pydantic validators from orm(cls, obj: Any) You can generate a schema instance from your django model instance apply to model(self, model instance, kwargs) You can transfer data fr","default_branch":null,"files":null,"tree":[],"storefront":"/r/eadwinCode","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/eadwinCode/ninja-schema/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}