Config
- Python kursu
- İleri seviye
- Ders 58/83
- 5 dk
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: strstr_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: strBu 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
# 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
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
from pydantic import BaseModel, ConfigDict
class User(BaseModel):
____ = ConfigDict(str_min_length=1)
name: str
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ı |