Mohssen A Mohssen نشر 26 فبراير 2022 أرسل تقرير نشر 26 فبراير 2022 أريد أن أقوم بجلب أحدث 10 منشورات من قاعدة البيانات، وفرز النتائج حسب id بترتيب تصاعدي، قمت بتجربة الكود التالي: Article.objects.filter(since=since)[:-10] ولكن الكود السابق يظهر خطأ يقول إن "Negative Indexing is not supported" . والآن لا أستطيع جلب المنشورات إلا بإستخدام ترتيب تنازلي: Article.objects.filter(since=since)[:10] ثم أقوم بعكس الترتيب مرة أخرى في الواجهة الأمامية Frontend. هل هناك طريقة أفضل لجلب المنشروات بترتيب عكسي من قاعدة البيانات مباشرة؟ اقتباس
1 مسعود زاهي نشر 26 فبراير 2022 أرسل تقرير نشر 26 فبراير 2022 نعم هناك طريقة باستخدام order_by التي تسمح بترتيب المجموعة QuerySet الناتجة عن الفرز الذي قُمت به . للترتيب من الأقدم إلى الأحدث نقوم ب: qs = Article.objects.filter(since=since).order_by("id") أما من الأحدث إلى الأقدم نقوم ب: qs = Article.objects.filter(since=since).order_by("-id") لجلب أحدث 10 منشورات نُضيف: qs = Article.objects.filter(since=since).order_by("-id")[:10] 1 اقتباس
1 Bassam Ahmed3 نشر 26 فبراير 2022 أرسل تقرير نشر 26 فبراير 2022 يمكنك تجربة ذلك الكود لجلب العناصر بترتيب تصاعدي Reserved.objects.filter(client=client_id).order_by('check_in') بالعلم أن client = client هي متغيره يمكن إستبدالها على سبيل المثال حسب المستخدم في مشروعك سواء id او slug و أ، check_in هو الحقل الذي ترغب من الإرجاع منه مثلاً حقل يحتوي على تاريخ و تريد الترتيب من الأحدث للأقدم أو العكس و ذلك الكود إضافي للترتيب التنازلي Reserved.objects.filter(client=client_id).order_by('-check_in') 1 اقتباس
السؤال
Mohssen A Mohssen
أريد أن أقوم بجلب أحدث 10 منشورات من قاعدة البيانات، وفرز النتائج حسب id بترتيب تصاعدي، قمت بتجربة الكود التالي:
ولكن الكود السابق يظهر خطأ يقول إن "Negative Indexing is not supported" . والآن لا أستطيع جلب المنشورات إلا بإستخدام ترتيب تنازلي:
ثم أقوم بعكس الترتيب مرة أخرى في الواجهة الأمامية Frontend.
هل هناك طريقة أفضل لجلب المنشروات بترتيب عكسي من قاعدة البيانات مباشرة؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.