الترتيب الافتراضي
جزء من قسم النماذج ولوحة الإدارة في رحلة Django على Coddy. الدرس 6 من 23.
تعود كتبك بلا ترتيب مضمون، بل وفقًا لما تقدّمه قاعدة البيانات. يمكن للنموذج أن يحدّد الترتيب مرة واحدة لكل استعلام لا يطلب ترتيبًا آخر. تُوضع الخيارات الخاصة بالنموذج بأكمله، لا بحقل واحد، في فئة داخلية باسم Meta:
class Movie(models.Model):
...
class Meta:
ordering = ["-released", "title"]ordering قائمة بأسماء الحقول. يؤدي الاسم وحده إلى الترتيب من الأصغر إلى الأكبر، ومن أ إلى ي للنص؛ أما علامة الطرح في المقدمة فترتّب بالعكس، لذا تعرض هذه القائمة أحدث الأفلام أولًا. يحسم الاسم الثاني التعادل: تُرتّب الأفلام الصادرة في اليوم نفسه من أ إلى ي.
التحدي
سهلفي books/models.py، اجعل الكتب تظهر مرتبة حسب العنوان من الألف إلى الياء كلما لم يُطلب ترتيب معين.
اضغط على «العب» واكتب Book.objects.all() في علامة تبويب Shell: يظهر Dune أولًا وThe Hobbit أخيرًا.
جرّب بنفسك
from django.db import models
class Book(models.Model):
class Genre(models.TextChoices):
FICTION = "fiction", "Fiction"
SCIFI = "scifi", "Science fiction"
MYSTERY = "mystery", "Mystery"
HISTORY = "history", "History"
title = models.CharField(max_length=200)
author = models.CharField(max_length=100)
year = models.IntegerField()
price = models.DecimalField(max_digits=6, decimal_places=2)
is_read = models.BooleanField(default=False)
finished = models.DateField(null=True, blank=True)
summary = models.TextField(blank=True)
genre = models.CharField(max_length=20, choices=Genre, default=Genre.FICTION)
def __str__(self):
return f"{self.title} by {self.author}"
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس النماذج ولوحة الإدارة
1نموذجك الأول
نموذجك الأولأنواع الحقول2الاستعلام باستخدام ORM
إنشاء الصفوفAll وGetالتصفية وعمليات البحثعدّ الصفوفترتيب الصفوفالتحديث والحذفتدرّب بنفسك: Playground لـ Django