بررسی ساختار base model

  • مدرس : علی بیگدلی
  • تاریخ انتشار: 1404/09/14
  • تعداد بازدید: 3

در این بخش خودِ مدل در Pydantic را توضیح می‌دهیم؛ نه جزئیات فیلدها، بلکه اینکه یک مدل از چه بخش‌هایی تشکیل شده و هر بخش چه نقشی در فرایند اعتبارسنجی و ساخت ساختار داده دارد.

یک مدل در Pydantic از چه بخش‌هایی تشکیل شده است؟

بخش عملکرد
کلاس اصلی مدل ساختار کلی مدل است. این کلاس نشان می‌دهد که قرار است چه نوع آبجکتی ساخته شود و پایهٔ تمام رفتارهای اعتبارسنجی و مدیریت داده است.
هر مدل در واقع یک «قالب داده» است.
ارث‌بری از BaseModel این بخش باعث می‌شود کلاس تعریف‌شده به قابلیت‌های Pydantic مجهز شود.
BaseModel موتور اصلی اعتبارسنجی، تبدیل داده و ساخت خروجی‌های ساختاریافته است.
فیلدهای مدل (بدون ورود به نوع و جزئیات) این بخش اسکلت داخلی مدل است؛ یعنی تعیین می‌کند مدل چه قسمت‌هایی (ویژگی‌هایی) دارد.
فیلدها فقط ستون‌های مدل هستند و BaseModel با استفاده از آن‌ها داده را سازمان‌دهی می‌کند.
ایجاد آبجکت مدل زمانی که از مدل یک نمونه ساخته می‌شود، Pydantic داده را بررسی، اعتبارسنجی و ساختارمند می‌کند و در قالب یک آبجکت تمیز و قابل‌استفاده بازمی‌گرداند.
این مرحله هستهٔ عملکرد مدل است.
فرایند Validation بخشی درونی و خودکار در مدل که داده‌های ورودی را تحلیل کرده، خطاها را مشخص می‌کند و در صورت امکان داده‌ها را تبدیل می‌کند.
این سیستم بدون کدنویسی اضافی فعال است.
فرایند Serialization بخشی که مدل را به خروجی‌های استاندارد مانند JSON یا dict تبدیل می‌کند.
این امکان باعث می‌شود مدل‌ها هم برای ذخیره‌سازی و هم برای API کاملاً مناسب باشند.
تنظیمات مدل (Model Config) بخشی که رفتار مدل را کنترل می‌کند؛ مثلاً اینکه strict باشد یا داده‌ها را تبدیل کند یا خیر.
این تنظیمات روی کل مدل اعمال می‌شوند و نحوهٔ برخورد Pydantic با داده‌ها را تعیین می‌کنند.

جمع‌بندی ساختار یک مدل

  • مدل یک کلاس است که نمایندهٔ یک ساختار داده‌ای مشخص می‌باشد.
  • با ارث‌بری از BaseModel تبدیل به یک مدل هوشمند برای کار با داده می‌شود.
  • فیلدها فقط ستون‌های اطلاعات هستند و موتور اصلی رفتار در BaseModel وجود دارد.
  • فرایند ساخت آبجکت مدل، شامل اعتبارسنجی و تبدیل داده، بخش اصلی ارزش Pydantic است.
  • Model Config رفتارهای مدل را تنظیم و کنترل می‌کند.
  • Serialization مدل را برای APIها، ذخیره‌سازی و خروجی‌های JSON آماده می‌کند.

به‌طور خلاصه: یک مدل در Pydantic ترکیبی است از ساختار (کلاس + فیلدها)، منطق (BaseModel)، کنترل رفتار (Config) و ابزارهای خروجی (Serialization)؛ مجموعه‌ای که باعث می‌شود داده‌ها از حالت خام به یک ساختار معتبر و استاندارد تبدیل شوند.

نمونهٔ ساختار یک مدل ساده:


from pydantic import BaseModel

class User(BaseModel):
    id: int
    name: str
    active: bool = True

 

ثبت دیدگاه


نکته: آدرس ایمیل شما منتشر نخواهد شد
0/600

دیدگاه کاربران (0)


هیچ دیدگاهی ثبت نشده است. می‌توانید اولین نفر باشید.