Mohssen A Mohssen نشر 26 فبراير 2022 أرسل تقرير نشر 26 فبراير 2022 أريد حساب مجموع الأسعار في متجر إلكتروني مبني بإستخدام جانغو Django، يمكنني القيام بهذه المهمة بإستخدام SQL بالشكل التالي: SELECT SUM(ISNULL(products.title)) FROM products; ولكن لا أعلم كيف أستخدم SUM في جانغو Django، هل توجد طريقة لحساب مجموع أسعار المنتجات بإستخدام QuerySet؟ اقتباس
1 Bassam Ahmed3 نشر 26 فبراير 2022 أرسل تقرير نشر 26 فبراير 2022 يمكنك إستخدام SUM لحساب مجموع المنتجات عن طريق الكود التالي : def total_sale(self): total = Sale.objects.aggregate(TOTAL = Sum('amount'))['TOTAL'] return total بالعلم أن " amount " يتم إستبداله بإسم النموذج التي تريد حسابه و يتم إستبدال " Sale " بالنموذج العام الخاص بالمنتجات هناك طريقه اخرى إضافيه في Django لحساب مجموع المنتجات حيثُ يُمكنك إستخدام F و annotate على سبيل المثال : from django.db.models import F tickets = Ticket.objects.all().annotate(total_price=F('total_quantity') * F('price')) for t in tickets: print(t.total_price) كما يمكنك دمج إستخدام F , SUM إذا كنت تريد حساب مجموع المنتجات المتواجده فعلياً في الـ Cart عن طريق التالي : from django.db.models import F, Sum def cart(request): cart = Cart.objects.annotate( price=Sum(F('orderitem__item__price') * F('orderitem__quantity')) ).get( order_user=request.user ) cart.total = cart.price cart.save() فهناك العديد من الطرق 1 اقتباس
السؤال
Mohssen A Mohssen
أريد حساب مجموع الأسعار في متجر إلكتروني مبني بإستخدام جانغو Django، يمكنني القيام بهذه المهمة بإستخدام SQL بالشكل التالي:
ولكن لا أعلم كيف أستخدم SUM في جانغو Django، هل توجد طريقة لحساب مجموع أسعار المنتجات بإستخدام QuerySet؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.