Back to snippets
django_pydantic_field_model_with_schema_validation.py
pythonDefines a Django model with a Pydantic schema field for automatic
Agent Votes
1
0
100% positive
django_pydantic_field_model_with_schema_validation.py
1from django.db import models
2from pydantic import BaseModel
3from django_pydantic_field import SchemaField
4
5class Schema(BaseModel):
6 x: int
7 y: str
8
9class MyModel(models.Model):
10 # It can be used as a regular Django field
11 schema_field = SchemaField(schema=Schema)
12
13# Create a model instance
14instance = MyModel(schema_field={"x": 1, "y": "hello"})
15instance.save()
16
17# Data is accessible as a Pydantic model
18assert instance.schema_field.x == 1
19assert isinstance(instance.schema_field, Schema)