عن المشروع

django-query-optimizer هي أداة مصممة لتحليل وتحسين أداء Django ORM. فهي تحدد اختناقات قاعدة البيانات الشائعة مثل استعلامات N+1، وتنفيذ SQL المكرر، والاستعلامات البطيئة، وتقدم اقتراحات ملموسة للإصلاحات (على سبيل المثال، استخدام select_related() أو prefetch_related()). تشمل القدرات الرئيسية ما يلي: - جمع الاستعلامات: مدير سياق (context manager) آمن للخيوط (thread-safe) وبرمجية وسيطة HTTP لالتقاط استعلامات SQL، ومدة التنفيذ، وتتبعات مكدس Python. - كاشفات متخصصة: تحليل مدمج للاستعلامات البطيئة/المكررة العامة، وأنماط N+1، وتكرارات البحث عن ForeignKey، ومشكلات N+1 الخاصة بـ DRF serializer. - نقاط التكامل: - Django Admin: لوحة تحكم لعرض قوائم الجلسات وأبرز الاستعلامات البطيئة. - pytest: إضافة توفر علامة `--query-analysis` و fixture باسم `query_collector` للتأكد من عدد الاستعلامات والأداء في الاختبارات. - VS Code: دعم مخرجات SARIF 2.1.0 لإظهار التشخيصات كتحذيرات مضمنة في المحرر. - التقييم: نظام تسجيل للصحة (0-100) مع درجات حرفية (A-F) لقياس كفاءة ORM كمياً. الأداة مخصصة لبيئات التطوير وتوفر واجهة برمجة تطبيقات عامة (public API) للتحليل المخصص عبر QueryCollector و QueryAnalyzer.