قواعد البيانات-1

albaderمنذ 6 سنوات

سيكون هذا الدرس  عباره عن اجزاء  للتعامل مع قواعد البيانات بالكامل 

وسنتطرق لاغلب الاساسيات

إنشاء جدول جديد

انشاء حقول جديدة

اضافة بيانات

عرض البيانات

تحديث البيانات

حذف البيانات

-------------------------------

وسنتطرق ايضا الى اضافة الجدول الى لوحة التحكم للاضافة والعرض والتحديث والحذف باذن الله

 

سيكون تعاملنا في اغلب الدرس مع shell  المقدم من جانغو للتعامل مع قواعد البيانات

ولكن قبل ذلك سنقوم بتطبيق بعض الاوامر المهمة

 

انشاء الجداول الافتراضية من جانغو

انشاء حساب للمدير

بداية افتح الطرفية او الترمنال او الشاشة السوداء او اياً كان أسمها

 

واذهب الى مسار الملف manage.py

هو مدير المشروع ومعه سنتعامل فقط

 

بداية لتهجير الجداول الافتراضية سنطبق الامر التالي

python manage.py migrate

 

بعد تنفيذ الامر السابق ستظهر لنا خطوات انشاء الجداول وحالتها

كالتالي

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying sessions.0001_initial... OK

 

جميعها ok  تم انشائها بنجاح

 

الان نقوم بانشاء حساب المدير الخاص بالمشروع

 

بالامر التالي

python manage.py createsuperuser

 

بعدها نقوم بوضع اسم المستخدم + الايميل + الرقم السري مرتين

 

بقي لدينا الخطة الاخيرة وهي تعريف التطبيق بداخل المشروع

 

نذهب الى ملف settings.py

لنقوم بتعريف تطبيقنا blog  واضافته من ضمن التطبيقات بداخل المشروع

انظر الصورة التالية

##################################################################################

 

 

بعد ان انتهينا  نذهب الى تطبيقنا blog

لكي ننشئ اول جدول لنا 

اذهب الى ملف models.py

بداخل مجلد blog

blog/models.py

الملف شبه فارغ بداخله فقط

from django.db import models

# Create your models here.

 

سنقوم بانشاء اول جدول لنا وهو عباره عن كلاس يرث من models.Model 

وبداخل الكلاس عباره عن متغيرات

اسماء المتغيرات هي اسماء الحقول بداخل قواعد البيانات

وقيمة المتغيرات هي نوع الحقول وخصائصها

 

كما في الصورة التالية

 

كما في الصورة السابقة

قمنا بتعريف كلاس جديد باسم TestBlog

بداخله ثلاث متغيرات ودالة

المتغير الاول والثاني

الاول اسم الكاتب  من نوع character Field  ويحتاج الى بارمتر الزامي وهو اكبر قيمة لعدد الحروف

الثاني هو عنوان الموضوع وايضا من نفس النوع واعلى قيمة لعدد الحروف هو 500

اما المتغير الثالث فهو من نوع Text Filed  وليس له اي بارمترات الزامية

 

 لو اردنا ان نجعل العنوان فريد من نوعه نضيف بارمتر كالتالي

    title       = models.CharField(max_length=500, unique=True)

ولو اردنا ان يقبل null

نضيف بارمتر null=True

لو اردنا فارغ

Blank=True

وهكذا للتعامل مع الحقول

ولرؤية جميع انواع الحقول وخصائصها

راجع الرابط التالي من الموقع الرسمي لجانغو

 

الدالة

    def __str__(self):
        return self.title

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

 

################################

 

بعد ان قمنا بعمل الكلاس الخاص بالجدول والحقول سنقوم بتهجيره الى ملف migrations

 

نقوم بتطبيق الامر التالي

python manage.py makemigrations blog

 

 

الان سنقوم بترحيل الملف الجديد الذي تم انشاءه الى قاعدة البيانات لانشاء الجدول والحقول بالامر التالي

 

python manage.py migrate

 

 

 

 

تم انشاء الجدول والحقول بداخل قاعدة البيانات بنجاح

 

يأتي سؤال براسك اين هي قاعدة البيانات ؟

جانغو تقدم قاعدة بيانات افتراضية

باسم

db.sqlite3

انظر الى ملف settings.py

ستجد هذا السطر


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

 

هذا القاموس هو المسؤول عن قواعد البيانات وحاليا هو بالشكل الافتراضي للتعامل مع قاعدة بيانات افتراضية

مستقبلا سنتعلم التعامل مع قواعد بيانات اخرى ك

mysql < oracle < postgresql

 

في الدرس القادم ان شاء الله هو الجزء الثاني لهذا الدرس

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !