ترتيب الصفوف
جزء من قسم النماذج ولوحة الإدارة في رحلة Django على Coddy. الدرس 11 من 23.
أرخص كتاب، وأحدث كتاب، وكل العناوين مرتبة من الأقدم إلى الأحدث: كل منها سؤال عن الترتيب. ترتب order_by() مجموعة QuerySet واحدة حسب حقل، كما تفعل ordering في Meta لجميعها، وتجعل إشارة الناقص الترتيب من الأعلى إلى الأدنى. تعيد first() الصف الأول، أو None عندما لا يوجد صف، لذا فهي، بخلاف get()، لا ترفع استثناءً مطلقًا:
Book.objects.order_by("-year").first() # <Book: SPQR by Mary Beard>
Book.objects.order_by("-price").values_list("author", flat=True)
# <QuerySet ['Mary Beard', 'Umberto Eco', ...]>تتجاوز values_list() كائنات Book وتعيد قيم حقل واحد. من دون flat=True تأتي كل قيمة ضمن صفّ يحتوي على عنصر واحد، مثل ('Mary Beard',).
التحدي
متوسطأعِد كتابة explore.py لطباعة سطرين:
Cheapest:وعنوان أرخص كتاب.Titles by year:وقائمة بكل العناوين، بدءًا بأقدم كتاب.
اضغط على Run. تعرض وحدة التحكم Cheapest: Pride and Prejudice وTitles by year: ['Pride and Prejudice', 'Emma', ...].
جرّب بنفسك
from books.models import Book
# 1. الأرخص: عنوان أرخص كتاب
# 2. العناوين حسب السنة: جميع العناوين في قائمة، بدءًا بأقدم كتاب
جميع دروس النماذج ولوحة الإدارة
2الاستعلام باستخدام ORM
إنشاء الصفوفAll وGetالتصفية وعمليات البحثعدّ الصفوفترتيب الصفوفالتحديث والحذفتدرّب بنفسك: Playground لـ Django