إنشاء أول قاعدة بيانات في دجانغو (Django Database)

May 10, 2023 * تيتو 4 تك

Django هو إطار عمل Python الشهير لتطوير تطبيقات الويب. يتضمن Django ORM (Object-Relational Mapper)، والذي يسمح لك بتعريف نماذج البيانات؛ وبالتالي استخدامها للتفاعل مع قاعدة البيانات عوضا عن كتابة الاستعلامات SQL يدويًا. في هذا المقال، سوف نقدم طريقة إنشاء أول قاعدة بيانات والجداول والحقول المتعلقة بها باستخدام Django ORM.

 

إنشاء أول قاعدة بيانات في دجانغو

 

الخطوة الأولى هي إنشاء مشروع Django باستخدام الأمر django-admin startproject في وحدة التحكم. بمجرد إنشاء المشروع، سيتم إنشاء ملفات المشروع الأساسية، بما في ذلك ملفات الإعداد والتطبيقات.

ثم بعد ذلك، يجب عليك إنشاء تطبيق Django باستخدام الأمر python manage.py startapp، والذي سينشئ مجلدًا جديدًا يحتوي على ملفات التطبيق الخاص بك.

إعداد وتهيئة قاعدة البيانات في ملف إعدادات Django

في Django ، يمكن تكوين قاعدة البيانات في ملف إعدادات المشروع settings.py. يجب تحديد قاعدة البيانات المستخدمة والمضيف واسم المستخدم وكلمة المرور ومعلومات الاتصال الأخرى في هذا الملف. 

إليك خطوات إعداد قاعدة البيانات في ملف إعدادات Django:

1 - قم بتحديد قاعدة البيانات التي تريد استخدامها في ملف settings.py. يمكنك القيام بذلك عن طريق تعيين DATABASES في ملف settings.py. على سبيل المثال:

 

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.postgresql',

        'NAME': 'mydatabase',

        'USER': 'mydatabaseuser',

        'PASSWORD': 'mypassword',

        'HOST': 'localhost',

        'PORT': '',

    }

}

 

2 - استخدم معلومات الاتصال الصحيحة لقاعدة البيانات التي تستخدمها. يجب تغيير المعلومات لتناسب قاعدة البيانات التي تستخدمها. في المثال أعلاه ، يتم استخدام PostgreSQL كمثال.

3 - تحديد المتغير ENGINE ليتوافق مع نوع قاعدة البيانات التي تستخدمها. في المثال أعلاه ، يتم استخدام django.db.backends.postgresql لتعيين PostgreSQL كمحرك قاعدة البيانات.

بمجرد تكوين settings.py بشكل صحيح ، يمكنك الآن إنشاء الجداول والحقول اللازمة باستخدام Django ORM. يمكنك البدء في إنشاء نماذج Django وتعريف الحقول فيها. عند القيام بذلك ، سيتم إنشاء الجداول والحقول المطابقة في قاعدة البيانات التي قمت بتكوينها.بعد إنشاء التطبيق، يجب عليك إنشاء نموذج البيانات الخاص بك. يجب تعريف نموذج البيانات كفئة في ملف models.py في مجلد التطبيق. يمكنك تعريف الحقول المختلفة باستخدام حقول Django القياسية مثل CharField و IntegerField و BooleanField وغيرها.

مثال على تعريف نموذج البيانات:

 

from django.db import models

class Person(models.Model):

    first_name = models.CharField(max_length=30)

    last_name = models.CharField(max_length=30)

    age = models.IntegerField()

    is_student = models.BooleanField(default=False)

 

في هذا المثال ، تم تعريف نموذج البيانات "Person" مع أربعة حقول: first_name ، last_name ، age و is_student.

بعد تعريف نموذج البيانات ، يجب تنفيذ الأمر python manage.py makemigrations لإنشاء ملفات التهجير اللازمة لتطبيق التغييرات الجديدة على قاعدة البيانات. ثم ، يجب تنفيذ الأمر python manage.py migrate لتطبيق التغييرات.

بعد تنفيذ الأمر python manage.py migrate ، يمكنك الآن استخدام نموذج البيانات الخاص بك لإنشاء وتعديل بيانات قاعدة البيانات.

يمكنك أيضًا إنشاء علاقات بين الجداول باستخدام الحقول الخاصة بـ Django مثل ForeignKey و ManyToManyField. على سبيل المثال ، إذا كان لديك نموذج البيانات "Person" ونموذج البيانات "Address" ، فيمكنك إنشاء علاقة ForeignKey بينهما كما يلي:

 

from django.db import models

class Address(models.Model):

    street = models.CharField(max_length=100)

    city = models.CharField(max_length=50)

    state = models.CharField(max_length=50)

    zip_code = models.CharField(max_length=10)

class Person(models.Model):

    first_name = models.CharField(max_length=30)

    last_name = models.CharField(max_length=30)

    age = models.IntegerField()

    is_student = models.BooleanField(default=False)

    address = models.ForeignKey(Address, on_delete=models.CASCADE)

 

في هذا المثال ، تم إنشاء نموذج البيانات "Address" ونموذج البيانات "Person" مع علاقة ForeignKey بينهما. يمكن لشخص واحد لديه عنوان واحد فقط ، لذلك يتم استخدام ForeignKey بين "Person" و "Address" لربط كل شخص بعنوانه.

بعد تحديد نموذج البيانات وتنفيذ التهجيرات اللازمة ، يمكنك استخدام Django Admin لإدارة قاعدة البيانات الخاصة بك بسهولة. يمكن لمسؤول الموقع إنشاء وتحديث وحذف السجلات في الجداول باستخدام واجهة المستخدم الرسومية المتاحة في Django Admin.

في النهاية ، يمكن استخدام Django ORM لإدارة قاعدة البيانات بكل سهولة ومرونة وسرعة. يسهل تعريف النماذج والحقول والعلاقات وتحديد الإعدادات المختلفة لقاعدة البيانات.

قواعد البيانات المدعومة في Django

واحدة من أهم ميزات Django هي قدرته على العمل مع العديد من قواعد البيانات المختلفة. وفيما يلي أهم قواعد البيانات المدعومة في Django:

1 - SQLite

SQLite هي قاعدة بيانات خفيفة الوزن وسهلة الاستخدام تأتي بشكل افتراضي في Django. تتميز SQLite بالسرعة والموثوقية والتوافقية ويمكن استخدامها بشكل جيد في المشاريع الصغيرة والمتوسطة.

2 - MySQL

MySQL هي إحدى أشهر قواعد البيانات المفتوحة المصدر والمستخدمة على نطاق واسع. تدعم Django إصدارات MySQL 5.5 والأحدث.

3 - PostgreSQL

PostgreSQL هي قاعدة بيانات مفتوحة المصدر شائعة الاستخدام. تتميز PostgreSQL بميزات الأمان والتوافق مع ACID وتدعم أيضًا المؤشرات المكانية والتعقيدات الهندسية.

4 - Oracle

Oracle هي قاعدة بيانات غنية بالميزات ومتعددة المستخدمين يتم استخدامها في المشاريع الكبيرة. يمكن ل Django العمل مع Oracle باستخدام مكتبة cx_Oracle.

5 - Microsoft SQL Server

Microsoft SQL Server هي قاعدة بيانات من Microsoft تدعم تطبيقات الأعمال الكبيرة. تم تطوير مكتبة django-mssql لدعم Microsoft SQL Server في Django.

6 - MariaDB

MariaDB هي نسخة متوافقة مع MySQL ومفتوحة المصدر. تعمل بشكل مماثل ل MySQL وتدعم الميزات الخاصة به.

7 - Firebird

Firebird هي قاعدة بيانات مفتوحة المصدر ومتعددة المنصات يتم استخدامها في تطبيقات الأعمال الصغيرة والمتوسطة. يدعم Django العمل مع Firebird باستخدام مكتبة django-firebird.

8 - MongoDB

MongoDB هي قاعدة بيانات غير علائقية (NoSQL) تستخدم JSON كتنسيق للبيانات. تعمل بشكل جيد مع تطبيقات الويب ذات الحجم الكبير والتي تتطلب مرونة في التخزين والاسترجاع.

 

في النهاية ، يجب الأخذ في الاعتبار أنه عند استخدام قاعدة بيانات في Django ، يجب على المطورين توفير اتصال معلومات الاتصال الصحيحة وإعدادات القاعدة المناسبة في ملفات إعدادات Django. كما يجب أن يتم تحديد نوع قاعدة البيانات في إعدادات Django الرئيسية.

ومن المهم أيضًا الحرص على الاهتمام بنظام الأمان والحماية في القاعدة المستخدمة، حيث يمكن للمطورين تحسين أداء النظام وجعله أكثر أمانًا من خلال العديد من التدابير مثل تحديث الإصدارات والإعدادات الأمنية.

التسميات