في هذا الدرس سنغطي مفهوم نماذج جانغو. و سوف نتعرف على هذا المكون بشكل متعمق.
تعتبر هذه المفاهيم مهمة جدًا لمطوري الويب المبتدئين، حيث سيساعدك ذلك أيضًا على فهم التقنيات الأخرى.
مقدمة لنماذج جانغو
النموذج في Django هو فئة تم استيرادها من مكتبة django.db والتي تعمل كجسر بين قاعدة البيانات والخادم. وهي تمثل بنية البيانات التي يستخدمها موقع الويب الخاص بك.
سيتم ربط بنية البيانات هذه مباشرة بقاعدة البيانات. حتى لا تضطر إلى تعلم SQL و هي ميزة تحتسب لجانغو.
تطبق كل قاعدة بيانات لغة SQL بطريقة مختلفة، لأنها جميعها مصممة لإكمال مهمة مختلفة. وهذا يخلق مشكلة صغيرة للمطورين، على سبيل المثال:
ربما تعرف و تتقن MySQL جيدًا، ولكن ماذا ستفعل إذا كنت مضطرا للتعامل مع MongoDB؟
طبعا لا يمكنك استثمار وقتك في تعلم قاعدة البيانات الجديدة ومحاولة معرفة كيفية دمج الخادم الخاص بك مع قاعدة البيانات هذه.
تم حل هذه المشكلة بواسطة Django ORM، وهي أداة رائعة وتوفر لك القدرة على كتابة هياكل بيانات بايثون بدلاً من لغة قاعدة البيانات. مما يجعل عملك أسهل بكثير.
كما ترون بنية البيانات، أيهما تعتقد أنه أكثر قابلية للقراءة؟
لشخص يعرف لغة Python جيدًا يظهر أهمية Django ORM على SQL.
عندما تقوم بإنشاء نموذج، يقوم Django بتنفيذ SQL لتصميم جدول مطابق في قاعدة البيانات دون الحاجة إلى كتابة سطر واحد من SQL.
يبدأ Django اسم الجدول باسم تطبيق Django الخاص بك. كما يربط نموذج المعلومات ذات الصلة في قاعدة البيانات.
يمكنك أيضًا استرداد البيانات الموجودة في Python وهذا يمنحك جميع دوال Python التي ستحتاج إليها في أي وقت.
إنشاء نموذج جانغو
سنقوم بذلك خطوة بخطوة، ونفترض أيضًا أن لديك قاعدة بيانات متصلة بخادمك أو مشروعك وإلا فلن يعمل أي شيء مكتوب هنا.
سنقوم بإنشاء نموذج student حيث سيكون لدينا حقول مثل رقم السجل والاسم والفصل والقسم.
افتح ملفmodels.py واكتب فيه الاكواد التالية:
1 2 3 4 5 | class Student(models.Model): roll_no = models.TextField() name = models.TextField(max_length = 40) stud_class = models.TextField() department = models.TextField() |
يمكنك أن ترى أن فئة النماذج تحتوي على الكثير من الحقول، ولقد قمنا بإستخدام الحقول النصية لأنها أسهل في التنفيذ وتستوعب أي مدخلات.
الآن قم بتنفيذ هذه الأوامر:
1 2 | python manage.py makemigrations python manage.py migrate |
تأكد من اتصالك بقاعدة البيانات ومن تشغيل خادم Apache وخادم MySQL في قاعدة البيانات.
بعد ذلك قم بفتح localhost/phpmyadmin/
افتح الآن قاعدة البيانات الرئيسية التي قمت بإنشائها لمشروع Django. ثم قم بالتحقق من الجدول App_student
مزايا نماذج جانغو
النموذج هو الرابط بين الخادم وقاعدة البيانات الخاصة بك. و عندما تحتاج إلى البيانات أو يتم تنفيذ أي عملية حيث تكون هناك حاجة إلى بيانات من الخادم والتي هي في الأساس مجرد استرداد البيانات من قاعدة البيانات الخاصة بك، فسوف تحتاج إلى بعض البرامج الوسيطة الذي يمكنها تحويل تلك البيانات في استجابة قابلة للإرسال/Http أو بشكل عام تنسيق قابل للتحويل عبر الويب.
و هنا يأتي Model و الذي يقوم بهذا العمل المهم نيابة عنك.
إذا كنت لا تستخدم نماذج Django، فسيتعين عليك تنفيذ الكثير من العمل يدويًا، مثل كتابة التعليمات البرمجية التي يمكنها توصيل قاعدة البيانات الخاصة بك بخادم Django. و في هذه الحالة يجب أن تكون مبرمجًا خبيرًا. لذا ننصحك ألا تزعج نفسك سواء كنت تتقن أي قاعدة بيانات أم لا.
لا يقوم النموذج باسترداد البيانات وتحويلها إلى التنسيق المرغوب فيه فحسب، بل ينفذها من خلال تطبيق منطق الأعمال، أو من خلال الواجهة الخلفية لموقع الويب الخاص بك الموجود بالفعل داخل مكون النموذج.
ليست كل عملية قابلة للتنفيذ في قاعدة البيانات، وبالتالي نحتاج إلى واجهة خلفية يمكنها بالفعل إجراء بعض العمليات على بياناتنا المستردة، وفي هذه الحالة فإن بايثون هي الحل.
ليست هناك تعليقات:
إرسال تعليق