order_by()
ترتيب النتائج order_by()
order_by() ترتّب نتائج الاستعلام حسب حقل أو أكثر — تصاعديًا افتراضيًا، أو تنازليًا بوضع علامة سالبة قبل اسم الحقل.
يمكن الترتيب بعدة حقول معًا (الأول أولوية، والثاني لكسر التعادل). بدون order_by صريح، ترتيب النتائج غير مضمون بمعظم قواعد البيانات.
الصياغة
Model.objects.order_by("field") # تصاعدي
Model.objects.order_by("-field") # تنازلي📄 مثال
# الأحدث أولًا
Post.objects.order_by("-created_at")
# ترتيب مركّب: الحالة أولًا، ثم الأحدث
Post.objects.order_by("status", "-created_at")أهم المعاملات
| المعامل | الوظيفة |
|---|---|
| "field" | ترتيب تصاعدي حسب الحقل |
| "-field" | ترتيب تنازلي (علامة سالبة قبل الاسم) |
💡 نصائح عملية
- عرّف ordering افتراضيًا داخل class Meta بالنموذج نفسه إن كان الترتيب ثابتًا بمعظم الاستعلامات
⚠️ أخطاء شائعة
- الاعتماد على ترتيب افتراضي بدون order_by صريح — غير مضمون بكل قواعد البيانات
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار DJANGO الكامل بالعربي.