TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
Complex Programmer

4 Oct, 17:30

Открыть в Telegram Поделиться Пожаловаться

📌 Python: Pydantic v2 bilan ma'lumotlarni qat'iy tekshirish

Salom, hamkasblar! Bugun backend rivojlanishida ma'lumotlar yaxlitligini ta'minlashning eng samarali vositasi — Pydantic v2 haqida gaplashamiz.

Backend'da API orqali kelayotgan JSON ma'lumotlarini qo'lda tekshirish (if-else'lar bilan) — bu texnik qarzdorlikning boshlanishi. Pydantic v2 esa Rust tilida qayta yozilgani uchun v1 ga nisbatan 5-50 barobar tezroq ishlaydi.

Nega aynan Pydantic v2?
1. Type Safety: Ma'lumotlar turi noto'g'ri bo'lsa, avtomatik xatolik qaytaradi.
2. Validation: Murakkab mantiqiy tekshiruvlarni (masalan, email formati yoki sonlar diapazoni) osonlik bilan amalga oshiradi.
3. Performance: Yuqori yuklamali tizimlar uchun optimallashtirilgan.

Quyidagi misolda foydalanuvchi ma'lumotlarini qanday validatsiya qilishni ko'ramiz:

from pydantic import BaseModel, EmailStr, Field, field_validator

class UserSchema(BaseModel):
username: str = Field(min_length=3, max_length=20)
email: EmailStr
age: int = Field(gt=18, description="Yosh 18 dan katta bo'lishi shart")

@field_validator('username')
@classmethod
def username_must_be_alphanumeric(cls, v):
if not v.isalnum():
raise ValueError('Username faqat harf va raqamlardan iborat bo\'lishi kerak')
return v

# Ishlatilishi:
try:
user = UserSchema(username="dev_ali", email="ali@example.com", age=25)
print(user.model_dump_json())
except Exception as e:
print(e)

Bu yondashuv kodni yanada toza (clean code) qiladi va API'ga kiruvchi ma'lumotlar ustidan to'liq nazorat o'rnatishga yordam beradi. Loyihalaringizda aynan shunday deklarativ uslubdan foydalanishni maslahat beraman.

#complex_programmer #python #backend #cleancode

🚀 Kanal: @complexprogrammeruzchannel
💬 Guruh: @complexprogrammergroup

2.1k 0 0 2 2
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot