Menu
CoddyTech

ترتيب الصفوف

جزء من قسم النماذج ولوحة الإدارة في رحلة 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',).

challenge icon

التحدي

متوسط

أعِد كتابة explore.py لطباعة سطرين:

  1. Cheapest: وعنوان أرخص كتاب.
  2. Titles by year: وقائمة بكل العناوين، بدءًا بأقدم كتاب.

اضغط على Run. تعرض وحدة التحكم Cheapest: Pride and Prejudice وTitles by year: ['Pride and Prejudice', 'Emma', ...].

جرّب بنفسك

from books.models import Book

# 1. الأرخص: عنوان أرخص كتاب

# 2. العناوين حسب السنة: جميع العناوين في قائمة، بدءًا بأقدم كتاب

جميع دروس النماذج ولوحة الإدارة

تدرّب بنفسك: Playground لـ Django