تخطَّ إلى المحتوى

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 الكامل بالعربي.