Django Academy · درس

‏str وفئة Meta

اجعل الكائنات مقروءة واضبط سلوك الجدول

الدرس 4 من 413 خطوة

‏str وفئة Meta درس مجاني في Django Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Django Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Django Academy 4 دروس في المجموع.

اجعل الكائنات قابلة للقراءة

يُطبع كائن النموذج افتراضيًا بصيغة مبهمة مثل Object 1. يمكنك إصلاح ذلك، وكذلك ضبط سلوك الجدول بطريقة منظمة.

عرّف __str__

أضف طريقة __str__ لإرجاع تسمية واضحة. سيعرض الكائن الآن عنوانه بدلًا من رقم غير مفيد.

class Book(models.Model):
    title = models.CharField(max_length=200)

    def __str__(self):
        return self.title

أين تظهر __str__

تظهر تسمية __str__ في لوحة الإدارة، والصدفة البرمجية، والقوالب، مما يجعل التعرّف إلى كل كائن فوريًا. 👀

أعد دائمًا سلسلة نصية

يجب أن تعيد __str__ سلسلة نصية. إذا كان أحد الحقول قد يكون رقمًا، فغلّفه بـ str() قبل إعادته.

def __str__(self):
    return str(self.year)

تعرّف إلى صنف Meta

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

class Book(models.Model):
    class Meta:
        ordering = ["title"]

‏ordering يحدد الترتيب الافتراضي

يحدد خيار Meta، ordering، طريقة ترتيب نتائج الاستعلام افتراضيًا، بحيث تصل القوائم بترتيب متوقع.

class Meta:
    ordering = ["-created"]

أسماء واضحة باستخدام verbose_name

استخدم verbose_name وverbose_name_plural في Meta للتحكم في التسميات التي يعرضها Django في واجهة الإدارة.

class Meta:
    verbose_name_plural = "Books"

اسم مخصص للجدول

تجاوز اسم الجدول المُنشأ تلقائيًا باستخدام db_table في Meta عندما تحتاج إلى التوافق مع قاعدة بيانات موجودة أو قديمة.

class Meta:
    db_table = "catalog_books"

التفرّد بين الحقول

يفرض خيار Meta، unique_together، أن تكون مجموعة من الحقول فريدة، مثل وجود slug واحد لكل مؤلف.

class Meta:
    unique_together = ["author", "slug"]

‏Meta يصف النموذج

اعتبر Meta إعدادات للنموذج بأكمله، بينما تصف الحقول و__str__ بياناته وطريقة عرضها.

كلاهما اختياري، لكنهما مفيدان

يمكنك الاستغناء عن __str__ وMeta، لكن إضافتهما تجعل التعامل مع نماذجك اليومية أسهل بكثير.

تحقق سريع

ما الوظيفة الأساسية للطريقة __str__ في النموذج؟

مراجعة: __str__ وMeta

تعلّمت أن __str__ يمنح الكائنات اسمًا قابلًا للقراءة، وأن صنف Meta يضبط السلوك العام للنموذج، مثل الترتيب والأسماء. نماذج متقنة! 🎉

البدء مجانًا

تعلم Python مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «‏str وفئة Meta» مجاني؟

نعم — نص درس «‏str وفئة Meta» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Django Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Django Academy 4 دروس في المجموع.

ماذا ستتعلم في «‏str وفئة Meta»؟

اجعل الكائنات مقروءة واضبط سلوك الجدول تتمرن على Django Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Django Academy؟

لا تُشترط خبرة سابقة. Django Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «‏str وفئة Meta»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Django Academy هذا؟

نعم. كل درس في Django Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تعريف فئة Model
  2. اختيار أنواع الحقول
  3. خيارات الحقل: null وblank وdefault
  4. ‏str وفئة Meta
← العودة إلى Django Academy