CodeBlanks Logo Icon CodeBlanks

Field

Field(...) ile doğrulama kurallarını öğrenirsin.

Field

Field(...), bir alana doğrulama kısıtları ekler. gt, lt, ge, le ile sınırlar; min_length, max_length ile uzunluk verirsin.

from pydantic import BaseModel, Field

class User(BaseModel):
    name: str = Field(min_length=2)
    age: int = Field(gt=0, lt=200)

gt=0 değer sıfırdan büyük olmalı; lt=200 200'den küçük olmalı demektir. Kısıt ihlal edilirse Pydantic hatası fırlatılır.

sınır ve uzunluk

Sayı alanlarında gt (büyük), lt (küçük), ge (büyük-eşit), le (küçük-eşit) kullanılır. Dize alanlarında min_length ve max_length ile uzunluk sınırlanır.

age: int = Field(ge=18, le=65)        # 18-65 arası
name: str = Field(min_length=2, max_length=50)  # 2-50 karakter
tags: list = Field(min_length=1)      # en az bir öğe

Bu kısıtlar, hatalı verinin sisteme girmesini engeller; API'lerde özellikle yararlıdır.

Uygulama Field kısıtlı User modeli

from pydantic import BaseModel, Field ile başla. class User(BaseModel): tanımla. name: str = Field(min_length=2) ve age: int = Field(gt=0, lt=200) alanlarını ekle. u = User(name="Ayşe", age=30) ile örnek oluştur. print(u.name, u.age) ile değerleri yazdır.

Başlangıç kodu

main.py
# pydantic'den BaseModel ve Field'i içe aktar
# User sınıfını tanımla (BaseModel'den türe)
# name alanına en az 2 karakter, age alanına sıfırdan büyük ve 200'den küçük kısıt ekle
# bir User örneği oluştur (Ayşe, 30)
# değerleri yazdır

Örnek çözüm

main.py
from pydantic import BaseModel, Field

class User(BaseModel):
    name: str = Field(min_length=2)
    age: int = Field(gt=0, lt=200)

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

Beklenen çıktı

Ayşe 30

Soru ve cevaplar

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

1 Field çağrısını tamamla

Soru
from pydantic import BaseModel, Field

class User(BaseModel):
    age: int = ____(gt=0, lt=200)
Cevap
from pydantic import BaseModel, Field

class User(BaseModel):
    age: int = Field(gt=0, lt=200)

Açıklama: Field(gt=0, lt=200) ile sınırlar konur.

2 Field(gt=0) kısıtı neyi ifade eder?

  • Değer sıfırdan büyük olmalı Doğru cevap
  • Değer negatif olmalı
  • Değer sıfıra eşit olmalı
  • Değer sıfır olamaz

Açıklama: gt=0, değerin sıfırdan büyük olması gerektiğini söyler.

3 Field kavramlarını eşleştir

Kavram Anlamı
gt=0 Sıfırdan büyük
lt=200 200'den küçük
min_length=2 En az 2 karakter
max_length=50 En çok 50 karakter

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