Pydantic: kiểm tra và chuẩn hóa dữ liệu trong Python

Dữ liệu đầu vào không đáng tin — người dùng nhập sai, API trả về thiếu trường. Pydantic giúp kiểm tra và chuẩn hóa dữ liệu tự động, là nền tảng của FastAPI và nhiều dự án hiện đại.

Cài đặt

pip install pydantic

Định nghĩa model dữ liệu

from pydantic import BaseModel

class NguoiDung(BaseModel):
    ten: str
    tuoi: int
    email: str

nd = NguoiDung(ten="Minh", tuoi=25, email="[email protected]")
print(nd.ten)

Tự động kiểm tra và ép kiểu

# Pydantic tự chuyển "25" (chuỗi) thành 25 (số)
nd = NguoiDung(ten="An", tuoi="25", email="[email protected]")
print(nd.tuoi)   # 25 (kiểu int)

# Sai kiểu -> báo lỗi rõ ràng
NguoiDung(ten="An", tuoi="hai lăm", email="...")  # ValidationError

Ràng buộc giá trị

from pydantic import BaseModel, Field, EmailStr

class SanPham(BaseModel):
    ten: str = Field(min_length=1)
    gia: float = Field(gt=0)          # phải lớn hơn 0
    email_lh: EmailStr               # kiểm tra định dạng email

Chuyển đổi qua lại

nd.model_dump()        # thành dict
nd.model_dump_json()   # thành chuỗi JSON
NguoiDung(**du_lieu)   # từ dict thành object

Pydantic loại bỏ hàng loạt code kiểm tra thủ công, giúp dữ liệu vào chương trình luôn “sạch” và đúng kiểu. Đây là công cụ nên có trong hộp đồ nghề của mọi lập trình viên Python.

Lên đầu trang