Amer Abdallah نشر 31 أغسطس 2021 أرسل تقرير نشر 31 أغسطس 2021 كيف يمكنني الترتيب تنازليًا حسب التاريخ المحدد في django؟ User.objects.all().filter(role='user').order_by('created_at') أريد الحصول على النتائج بشكل تنازلي لجميع المسؤولين حسب تاريخ التسجيل created_at. 2 اقتباس
1 سامح أشرف نشر 31 أغسطس 2021 أرسل تقرير نشر 31 أغسطس 2021 يمكنك أن تقوم بذلك بعدة طريق، منها: ضع علامة - قبل اسم الحقل، كالتالي: User.objects.all().filter(role='user').order_by('-created_at') هنا يتم جلب النتائج من قاعدة البيانات بشكل عكسي أي من خلال جملة ORDER BY DESC في SQL، وتعد هذه هي الطريقة الأسرع في تنفيذ المهمة. إستخدم التابع reverse()، كالتالي: User.objects.all().filter(role='user').order_by('created_at').reverse() هنا يتم جلب البيانات بترتيب تصاعدي، ثم يقوم Django بعكس ترتيب النتائج. إستخدم ترتيب القائمة العكسي، كالتالي: User.objects.all().filter(role='user').order_by('created_at')[::-1] تستخدم هذه الطريقة فقط إن أردت تحويل النتائج إلى قائمة list وليس queryset. 1 اقتباس
0 Salah Eddin Beriani2 نشر 31 أغسطس 2021 أرسل تقرير نشر 31 أغسطس 2021 يمكنك استخدام نفس ال queryset لكن أضف علامة ناقص قبل created_at User.objects.all().filter(role='user').order_by('-created_at') هكذا سيكون الترتيب تنازليا 1 اقتباس
0 Ali Haidar Ahmad نشر 31 أغسطس 2021 أرسل تقرير نشر 31 أغسطس 2021 ستؤدي إضافة - إلى ترتيبها بترتيب تنازلي. يمكنك أيضًا تعيين هذا عن طريق إضافة ترتيب افتراضي إلى التعريف الخاص بنموذجك. هذا يعني أنه عند إجراء استعلام ، تقوم فقط بعمل MyModel.objects.all () وسيظهر بالترتيب الصحيح. class MyModel(models.Model): check_at = models.DateField() class Meta: ordering = ('-check_at',) كما يمكنك استخدام earliest و latest كالتالي: User.objects.filter(role='user').earliest('check_at') # أو User.objects.filter(role='user').latest('-check_at') 1 اقتباس
السؤال
Amer Abdallah
كيف يمكنني الترتيب تنازليًا حسب التاريخ المحدد في django؟
أريد الحصول على النتائج بشكل تنازلي لجميع المسؤولين حسب تاريخ التسجيل created_at.
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.