المهارات pydantic-models-py
📦

pydantic-models-py

آمن

إنشاء نماذج Pydantic باستخدام نمط النماذج المتعددة

حدد مخططات API متسقة دون الحاجة إلى كتابة كود متكرر يدوياً. تقوم هذه المهارة بإنشاء نماذج Pydantic منظمة mengikuti الأنماط المعمول بها للتحقق من صحة الطلبات والاستجابات والتكامل مع قواعد البيانات.

يدعم: Claude Codex Code(CC)
🥉 74 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "pydantic-models-py". كيان User مع حقول id و name و email و created_at

النتيجة المتوقعة:

فئات النماذج UserBase و UserCreate و UserUpdate و UserResponse و UserInDB المُنشأة مع تعريفات Field مناسبة وتعليقات النوع وفئة Config للتعامل مع الأسماء المستعارة

استخدام "pydantic-models-py". نموذج Project يتطلب توافق API مع camelCase

النتيجة المتوقعة:

نماذج مع Field aliases (workspaceId، createdAt) تقبل اصطلاحات التسمية كلاهما مع استخدام Pythonic snake_case داخلياً

التدقيق الأمني

آمن
v1 • 2/24/2026

All 21 static analysis findings are false positives. The scanner misidentified Markdown code block backticks as shell execution, and documentation references to HTTP/cryptography as actual code. SKILL.md is pure documentation with Python code examples for Pydantic model patterns. No executable code, network calls, or security risks detected.

1
الملفات التي تم فحصها
64
الأسطر التي تم تحليلها
0
النتائج
1
إجمالي عمليات التدقيق
لا توجد مشكلات أمنية
تم تدقيقه بواسطة: claude

درجة الجودة

38
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
50
المجتمع
100
الأمان
91
الامتثال للمواصفات

ماذا يمكنك بناءه

تعريف مخطط REST API

حدد نماذج الطلب/الاستجابة لنقاط نهاية FastAPI أو Flask مع أنماط تحقق من الصحة متسقة.

نمذجة مستندات قاعدة البيانات

أنشئ متغيرات نموذج InDB مع حقول doc_type لتخزين مستندات Cosmos DB أو MongoDB.

مزامنة عقد الواجهة الأمامية والخلفية

أنشئ نماذج Python وأنواع TypeScript متطابقة لضمان اتساق عقد API.

جرّب هذه الموجهات

إنشاء النموذج الأساسي
أنشئ نماذج Pydantic لكيان User مع الحقول: id (string)، name (string، مطلوب)، email (string مع التحقق من صحة البريد الإلكتروني)، created_at (datetime). استخدم نمط النماذج المتعددة مع متغيرات Base و Create و Update و Response.
نموذج مع أسماء مستعارة CamelCase
أنشئ نماذج Pydantic لكيان Project. يجب أن تقبل جميع الحقول كلاً من snake_case و camelCase باستخدام Field aliases. ضمّن حقول workspace_id و project_name و is_active.
نموذج قاعدة البيانات مع متغير InDB
أنشئ نماذج Pydantic كاملة لكيان Document بما في ذلك متغير InDB مع حقل doc_type. أضف التحقق من صحة min_length على name وحقل description اختياري للتحديثات.
نمط النموذج المعقد المتداخل
ابنِ نماذج Pydantic لكيان Order مع مصفوفة line_items متداخلة. يحتوي كل عنصر سطر على product_id و quantity و price. أنشئ نمط نماذج متعدد كامل مع قيود التحقق من الصحة على جميع الحقول.

أفضل الممارسات

  • افصل دائماً بين نماذج Create و Update - يتطلب Create جميع الحقول، بينما يجعل Update جميع الحقول اختيارية لدلالات PATCH
  • استخدم Field مع default=None صريح للحقول الاختيارية في التحديث لتمييز القيم null عن القيم غير المحددة
  • مكّن populate_by_name = True في فئة Config لقبول كلاً من snake_case و camelCase من عملاء API

تجنب

  • لا تعيد استخدام فئة النموذج نفسها لكل من هيئات الطلب ومستندات قاعدة البيانات - الفصل يمنع تسرب البيانات
  • تجنب وضع منطق العمل في فئات النماذج - اجعلها مخططات بيانات نقية مع التحقق من الصحة فقط
  • لا تحذف doc_type في نماذج InDB عند استخدام Cosmos DB - ستفشل الاستعلامات دون تصفية النوع المناسبة

الأسئلة المتكررة

ما هو نمط النماذج المتعددة ولماذا نستخدمه؟
ينشئ النمط فئات نماذج منفصلة لأغراض مختلفة: Base (الحقول المشتركة)، Create (الحقول المطلوبة لـ POST)، Update (الحقول الاختيارية لـ PATCH)، Response (الإخراج الكامل)، و InDB (مستند قاعدة البيانات مع البيانات الوصفية). يمنع هذا الفصل التعرض العرضي للبيانات ويفرض التحقق من الصحة الصحيح في كل طبقة.
كيف تعمل الأسماء المستعارة camelCase مع Pydantic؟
استخدم Field(alias='camelCaseName') على كل حقل واضبط populate_by_name = True في فئة Config. يسمح هذا للنموذج بقبول اصطلاحات التسمية كلاهما من عملاء API مع استخدام snake_case داخلياً في كود Python.
لماذا نجعل جميع حقول Update اختيارية؟
يجب أن تتضمن طلبات PATCH فقط الحقول التي يتم تعديلها. جعل جميع الحقول اختيارية مع default=None يسمح بالتحديثات الجزئية مع التمييز بين 'الحقل غير مقدم' (None) و 'الحقل مضبوط على null' (null صريح).
ما هو الغرض من حقل doc_type؟
في قواعد بيانات المستندات مثل Cosmos DB، يحدد doc_type نوع الكيان داخل مجموعة مشتركة. يضيف نموذج InDB هذا الحقل تلقائياً بحيث يمكن للاستعلامات تصفية المستندات حسب النوع.
هل أحتاج لإنشاء أنواع TypeScript يدوياً؟
نعم، ترشدك هذه المهارة لإنشاء واجهات TypeScript متطابقة. فكّر في أدوات مثل pydantic2ts أو datamodel-code-generator لإنشاء TypeScript تلقائياً من نماذج Pydantic.
هل يمكنني استخدام هذا النمط مع SQLAlchemy أو ORMs أخرى؟
نعم، تعمل نماذج Pydantic جنباً إلى جنب مع ORMs. استخدم نماذج Pydantic للتحقق من صحة الطلب/الاستجابة والتسلسل، ونماذج ORM لعمليات قاعدة البيانات. بعض ORMs مثل SQLAlchemy 2.0 لديها تكامل Pydantic أصلي.

تفاصيل المطور

المؤلف

sickn33

الترخيص

MIT

مرجع

main

بنية الملفات

📄 SKILL.md