تعرّف على إنشاء نماذج Django وربطها بقاعدة البيانات
في ساحة تطوير الويب، يُعتبر Django إحدى الأطُر البارزة التي توفر بنية تحتية فعّالة لتطوير تطبيقات الويب بشكل سريع ومُنظّم. تكمن أحد أهم ميزات Django في نماذجها (Models)، حيث يمكنك من تعريف هياكل البيانات وتفاعل التطبيق مع قاعدة البيانات.
في بداية الأمر، يتوجب عليك إنشاء مشروع Django باستخدام الأمر django-admin startproject
، ومن ثم يمكنك إنشاء تطبيق داخل المشروع باستخدام python manage.py startapp
.
-
إنشاء قوائم منسدلة فعّالة في PHP15/02/2024
-
تضمين الكلاسات في C++30/03/2024
-
قيمة NaN في البرمجة03/04/2024
عند البدء في تعريف نموذج Django، يجب عليك فتح ملف models.py
داخل تطبيقك الخاص. سنفترض أن لديك تطبيق يسمى “myapp” كمثال. قم بفتح الملف myapp/models.py
وابدأ في تعريف نموذج. على سبيل المثال:
pythonfrom django.db import models
class Author(models.Model):
name = models.CharField(max_length=100)
bio = models.TextField()
def __str__(self):
return self.name
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
publication_date = models.DateField()
def __str__(self):
return self.title
في هذا المثال، تم تعريف نموذجين، الأول يُمثل المؤلف (Author
) والثاني يُمثل الكتاب (Book
). يتم استخدام models.CharField
للنصوص وmodels.TextField
للنصوص الطويلة، بينما يُستخدم models.ForeignKey
لربط الكتاب بالمؤلف.
لاحظ أنه يتم تعيين on_delete=models.CASCADE
مع models.ForeignKey
، وهذا يعني أنه عند حذف المؤلف، سيتم حذف جميع الكتب المرتبطة به.
بمجرد تعريف نموذجك، يجب عليك تنفيذ الأمر python manage.py makemigrations
لإنشاء تغييرات في قاعدة البيانات، وبعد ذلك python manage.py migrate
لتنفيذ هذه التغييرات.
الآن، يمكنك الوصول إلى النماذج في مشروعك Django واستخدامها لتفعيل عمليات القراءة والكتابة إلى قاعدة البيانات. يمكنك أيضًا توسيع هذه النماذج باستخدام العديد من حقول Django المتوفرة وتعديلها بما يتناسب مع احتياجات تطبيقك.
هذا مجرد لمحة سريعة عن كيفية إنشاء نماذج Django وربطها بقاعدة البيانات. للمزيد من التفاصيل والإعدادات المتقدمة، يمكنك استكشاف وثائق Django الرسمية والاستفادة من الميزات الشاملة التي تقدمها هذه الإطارات لتطوير تطبيقات الويب بكفاءة.
المزيد من المعلومات
بالطبع، سنقوم الآن بتوسيع الموضوع لنقدم المزيد من التفاصيل حول كيفية تعريف نماذج Django وربطها بقاعدة البيانات.
توسيع على تعريف النموذج:
-
حقول النموذج:
Django يقدم مجموعة واسعة من حقول النموذج التي تغطي مختلف أنواع البيانات. على سبيل المثال:models.IntegerField
: للأرقام الصحيحة.models.FloatField
: للأرقام العائمة.models.BooleanField
: لتخزين القيم الصحيحة/الخاطئة.models.DateTimeField
: لتخزين الأوقات والتواريخ.
-
السماح بقيم فارغة:
يمكنك تحديد ما إذا كانت بعض الحقول يمكن أن تأخذ قيمة فارغة أو لا، باستخدامblank=True
أوnull=True
في تعريف الحقل. -
الدوال (
methods
) في النموذج:
يمكنك إضافة دوال إلى النموذج لتنفيذ مهام معينة. في المثال السابق، تم إضافة__str__
لتحديد كيف يتم عرض كائنات النموذج عند طباعتها.
العلاقات بين النماذج:
-
العلاقة الكثير إلى الكثير (
ManyToManyField
):
يمكنك تعريف علاقات كثير إلى كثير بين نماذج. على سبيل المثال، إذا كان لديك نموذج للكتب وآخر للمستخدمين، يمكنك استخدامmodels.ManyToManyField
لتعريف علاقة بينهما.pythonclass User(models.Model): name = models.CharField(max_length=100) books = models.ManyToManyField(Book)
-
الوراثة (
Inheritance
):
يمكنك استخدام الوراثة في Django لإنشاء نماذج مشتقة من نماذج أخرى، مما يسهل إعادة استخدام الحقول والسلوكيات.pythonclass Audiobook(Book): narrator = models.CharField(max_length=100)
الاستعلام عن البيانات:
-
الاستعلامات (
Querysets
):
يوفر Django Querysets للتفاعل مع البيانات في قاعدة البيانات. يمكنك استخدامfilter
،exclude
،order_by
، وغيرها للحصول على البيانات بشكل مرن.python# الحصول على جميع الكتب التي نُشرت بعد تاريخ معين books = Book.objects.filter(publication_date__gte='2023-01-01')
-
الوحدات (
Managers
):
يُستخدم Managers لتسهيل الوصول إلى البيانات. يأتي Django بمدير افتراضي (objects
) لكل نموذج.
إدارة البيانات:
-
لوحة الإدارة (
Admin Panel
):
Django تأتي مع لوحة إدارة تسمح للمطورين بإدارة البيانات عبر واجهة مستخدم بسيطة. يمكنك تكوين اللوحة وتخصيصها لتلبية احتياجات التطبيق الخاص بك. -
إدارة التحقق (
Migrations
):
يساعد Django في إدارة التحديثات على قاعدة البيانات باستخدام مفهوم المهاجرات. يُستخدمmakemigrations
لإنشاء ملفات المهاجرة وmigrate
لتطبيقها.
الأمان والأداء:
-
التحقق من الصحة (
Validation
):
Django يوفر تحققًا قويًا للبيانات المدخلة باستخدام حقول النموذج والاستعلامات. -
الفهرسة (
Indexing
):
يمكنك تحسين أداء استعلامات قاعدة البيانات بإضافة فهارس على الحقول ذات البيانات المكررة.
النصائح الإضافية:
-
توثيق النماذج (
Documentation
):
قم بتوثيق نماذجك بشكل جيد باستخدام تعليقات ووثائق لتسهيل تفهمها للآخرين أو لنفسك في المستقبل. -
الاختبارات (
Testing
):
قم بكتابة اختبارات لنماذجك للتحقق من سلامة وأداء الكود.
هذه نظرة عامة عن كيفية تعريف نماذج Django وربطها بقاعدة البيانات، وتشير إلى بعض الجوانب المهمة لتعزيز فهمك حول هذا الجانب من إطار العمل Django. تأكد من الاطلاع على وثائق Django الرسمية للحصول على معلومات أكثر تفصيلاً وشمولاً.