Django ORM: الدليل الشامل لـ Python والمطورين

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة

عند تطوير تطبيقات الويب باستخدام Python، يُعتبر Django واحدًا من أكثر الأطر شيوعًا. ومن أبرز ميزاته نظام رسم الخرائط العلائقية للكائنات (ORM) المدمج، الذي يسمح للمطورين بالتفاعل مع قواعد البيانات باستخدام دوال Python عالية المستوى بدلاً من كتابة استعلامات SQL الخام. هذا يُبسّط عملية التطوير ويجعل الكود أكثر قابلية للقراءة والصيانة.

يمثل Django ORM أداة قوية للتعامل مع البيانات، حيث يُحوّل كود Python تلقائيًا إلى استعلامات SQL، مع توفير الحماية من هجمات حقن SQL والتوافق مع مختلف أنظمة إدارة قواعد البيانات.

ما هو ORM وكيف يعمل Django ORM

مبادئ رسم الخرائط العلائقية للكائنات

رسم الخرائط العلائقية للكائنات (ORM) هي تقنية تربط قواعد البيانات بمفاهيم لغات البرمجة الكائنية مثل Python. تسمح ORM للمطورين بالعمل مع قاعدة البيانات باستخدام الكائنات والكلاسات والدوال، مما يجعل التفاعل مع البيانات أكثر سهولة وطبيعية.

المبادئ الأساسية لـ ORM تشمل:

  • التجريد من نظام إدارة قواعد البيانات المحدد
  • الإدارة التلقائية للاتصالات بقاعدة البيانات
  • الحماية من هجمات حقن SQL
  • دعم المعاملات (Transactions)
  • التخزين المؤقت للاستعلامات

Django ORM كحلقة وصل بين Python و SQL

يقوم Django ORM تلقائيًا بتحويل الاستعلامات المكتوبة بلغة Python إلى استعلامات SQL مناسبة يتم تنفيذها في قاعدة البيانات. هذا يسمح للمطورين بالتركيز على منطق التطبيق دون القلق بشأن تفاصيل التفاعل مع قاعدة البيانات.

مزايا Django ORM:

  • سهولة الاستخدام والتعلم
  • التوليد التلقائي لاستعلامات SQL
  • دعم ترحيل مخطط قاعدة البيانات
  • التحقق المدمج من صحة البيانات
  • التكامل مع لوحة تحكم Django الإدارية

المكونات الأساسية لـ Django ORM

النماذج (Models): تُحدد بنية البيانات على شكل كلاسات Python، حيث يمثل كل كلاس جدولًا في قاعدة البيانات.

المديرون (Managers): يُوفّرون واجهة لتنفيذ الاستعلامات على قاعدة البيانات من خلال دوال النموذج.

مجموعات الاستعلام (QuerySets): تمثل مجموعات من البيانات المسترجعة من قاعدة البيانات، وتدعم التصفية والترتيب والعمليات الأخرى.

الترحيلات (Migrations): نظام لإدارة إصدارات مخطط قاعدة البيانات، يتيح تتبع التغييرات في بنية البيانات.

هندسة Django ORM

نمط السجل النشط (Active Record)

يستخدم Django ORM نمط السجل النشط، حيث يمثل كل نموذج بنية البيانات وطرق التعامل معها.这意味着 أن كائنات النموذج تحتوي على البيانات ومنطق الحفظ والتحديث والحذف.

التقييم الكسول (Lazy Loading)

تستخدم QuerySet في Django ORM التقييم الكسول، أي أن استعلام SQL يُنفّذ فقط عند الحاجة الفعلية للبيانات. هذا يُحسّن الأداء ويسمح ببناء استعلامات معقدة على مراحل.

نظام الترحيل

يتضمن Django ORM نظام ترحيل قوي يتيح إدارة إصدارات التغييرات في مخطط قاعدة البيانات وتطبيقها تلقائيًا في بيئات التطوير المختلفة.

التثبيت والإعداد

تثبيت Django

للبدء مع Django ORM، يجب تثبيت Django وإنشاء مشروع جديد:

pip install django
django-admin startproject myproject
cd myproject

إنشاء تطبيق

بعد ذلك، قم بإنشاء تطبيق داخل المشروع:

python manage.py startapp myapp

إعداد قاعدة البيانات

في ملف settings.py، قم بإعداد الاتصال بقاعدة البيانات:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

توصيات