CodeBlanks Logo Icon CodeBlanks

Config

model_config ile model ayarlarını öğrenirsin.

Config

Pydantic v2'de model ayarları model_config ile yapılır. Eski class Config yerine ConfigDict kullanılır. Ayarlar; katılık, ek alanlar, ORM modu gibi davranışları belirler.

from pydantic import BaseModel, ConfigDict

class User(BaseModel):
    model_config = ConfigDict(str_min_length=1)
    name: str

str_min_length=1 tüm dize alanlarına en az 1 karakter kısıtı uygular. extra="forbid" ile tanımsız alanları reddedersin.

yaygın ayarlar

extra="forbid" tanımsız alanları reddeder; extra="ignore" sessizce yok sayar. str_min_length ve str_max_length tüm dize alanlarına uygulanır.

class User(BaseModel):
    model_config = ConfigDict(
        extra="forbid",
        str_min_length=1,
    )
    name: str

Bu ayarlar, API'lerde beklenmeyen alanların reddedilmesi gibi katı davranışlar için yararlıdır. ORM modu da buradan açılır; böylece veritabanı modelleriyle kolayca çalışırsın.

Uygulama ConfigDict ayarlı User modeli

from pydantic import BaseModel, ConfigDict ile başla. class User(BaseModel): tanımla. model_config = ConfigDict(str_min_length=2) ekle. name: str alanını ekle. u = User(name="Ayşe") ile örnek oluştur. print(u.name) ile adı yazdır.

Başlangıç kodu

main.py
# pydantic'den BaseModel ve ConfigDict'i içe aktar
# User sınıfını tanımla (BaseModel'den türe)
# model_config ile tüm dize alanlarına en az 2 karakter kısıtı ekle
# name alanını tanımla
# bir User örneği oluştur ve adını yazdır

Örnek çözüm

main.py
from pydantic import BaseModel, ConfigDict

class User(BaseModel):
    model_config = ConfigDict(str_min_length=2)
    name: str

u = User(name="Ayşe")
print(u.name)

Beklenen çıktı

Ayşe

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Pydantic v2'de model ayarlarını hangi öznitelik tutar?

  • settings
  • class Config
  • __config__
  • model_config Doğru cevap

Açıklama: model_config özniteliği v2'de ayarları tutar.

2 model_config atamasını tamamla

Soru
from pydantic import BaseModel, ConfigDict

class User(BaseModel):
    ____ = ConfigDict(str_min_length=1)
    name: str
Cevap
from pydantic import BaseModel, ConfigDict

class User(BaseModel):
    model_config = ConfigDict(str_min_length=1)
    name: str

Açıklama: model_config = ConfigDict(...) ile ayarlar tanımlanır.

3 Config kavramlarını eşleştir

Kavram Anlamı
model_config Ayarları tutar
ConfigDict Ayar sözlüğü oluşturur
extra='forbid' Tanımsızı reddeder
str_min_length Dize uzunluğu alt sınırı

İleri seviye bölümündeki tüm dersler