Pydantic Doğrulama
Tip zorlama ve model doğrulama.
Genel Bakış
Pydantic, Python veri sınıflarının temelde türlenmemiş ağ yapılandırmalarını otomatik olarak yazılı gösterimlere dönüştürmesine olanak tanır.
Bu, sağlam tür kısıtlamaları kullanarak sistem durumunu korur.
Kod ve Yürütme Çıkışı
Doğrulama yükleri için katı bir şema Kullanıcı modeli bildirir.
models.py
Editör'de deneyinfrom pydantic import BaseModel, EmailStr, Field
from typing import List, Optional
import json
class User(BaseModel):
id: int
name: str = Field(min_length=2)
email: EmailStr
tags: List[str] = []
is_active: bool = True
# Simulating an API response with mixed types
incoming_data = {
"id": "123", # string gets coerced to int
"name": "Alice",
"email": "alice@example.com",
"tags": ("python", "developer") # tuple gets coerced to list
}
# Validate and instantiate
user = User(**incoming_data)
print("--- Validated Pydantic Model ---")
print(repr(user))
print("\n--- Exported to JSON ---")
print(user.model_dump_json(indent=2))Terminal Çıkışı
--- Validated Pydantic Model ---
User(id=123, name='Alice', email='alice@example.com', tags=['python', 'developer'], is_active=True)
--- Exported to JSON ---
{
"id": 123,
"name": "Alice",
"email": "alice@example.com",
"tags": [
"python",
"developer"
],
"is_active": true
}Adım Adım Uygulama
- API uç nokta koruması
- Yapılandırma şeması doğrulama
- Veritabanı arayüzü