اذهب إلى المحتوى

السؤال

نشر (معدل)

كيف اضع عمليات المقارنة و العمليات المنطقة فى دجانجو 

بطريقتين

الاولى فى حالة api

الثانية فى حالة موقع ويب عادى

مع امثلة عملية فى الحالتين

 

 

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال

Recommended Posts

  • 0
نشر

دجانغو ما هو إلا إطار عمل، يتبع للغة البرمجة التي يستعملها.

هنا دجانغو يستعمل لغة البايثون و بالتالي قواعد عمليات المقارنة و العمليات المنطقية تتبع للغة بايثون.

مثال عليها:

x = int(input('أدخل الرقم الأول'))
y = int(input('أدخل الرقم الثاني'))

if x < y:
  print('الرقم الأول أصغر من الرقم الثاني')
elif x > y:
  print('الرقم الأول أكبر من الرقم الثاني')
else:
  print('الرقم الأول يساوي الرقم الثاني')

if x > 10 and y > 10:
  print('الرقمان أكبر من 10')

هذا مثال بسيط على تطبيق عمليات المقارنة و العمليات المنطقية، يمكنك الرجوع إلى مقالات أكاديمية حسوب لتعلم المزيد عن هذه الأمور.

كما أنصحك بتعلم لغة بايثون جيداً قبل البدء بتعلم إطار عمل يستعملها، هذا ينطبق على أي إطار عمل.

  • 0
نشر

الطريقة الأولى: استخدام API

في حالة استخدام API في Django، تستطيع استخدام وحدة التحكم في الاستعلامات QuerySet لإجراء عمليات المقارنة والعمليات المنطقية،  والوحدة الأساسية هي filter() التي تسمح لك بتطبيق عمليات المقارنة والعمليات المنطقية.

إليك مثال يوضح ذلك:

from django.shortcuts import render
from django.http import JsonResponse
from .models import MyModel

def api_view(request):
    # عملية مقارنة بين حقلين
    queryset = MyModel.objects.filter(field1__gt=10, field2__lt=20)

    # عملية منطقية
    queryset = queryset.filter(field3=True) | queryset.filter(field4=False)

    # إرجاع النتائج كـ JSON
    data = list(queryset.values())
    return JsonResponse(data, safe=False)

تستدعى filter() مرتين لتطبيق عمليتي المقارنة على حقلين مختلفين (field1 و field2)، ثم دمجهما باستخدام المشغل | لتطبيق عملية المنطقية (OR) بينهما، ويتم استرداد النتائج كـ JSON باستخدام JsonResponse().

الطريقة الثانية: استخدام موقع ويب عادي

في حالة استخدام موقع ويب عادي في Django، بإمكانك استخدام عمليات المقارنة والعمليات المنطقية في عمليات البحث والتصفية في العرض (view) الخاص بك.

مثال:

from django.shortcuts import render
from .models import MyModel

def web_view(request):
    # عملية مقارنة بين حقلين
    queryset = MyModel.objects.filter(field1__gt=10, field2__lt=20)

    # عملية منطقية
    queryset = queryset.filter(field3=True) | queryset.filter(field4=False)

    # إرسال النتائج إلى القالب للعرض
    context = {'data': queryset}
    return render(request, 'template.html', context)

استدعيت filter() بنفس الطريقة لتطبيق عمليات المقارنة والعمليات المنطقية على الحقول، ومن ثم تمرير النتائج إلى القالب template.html للعرض.

ولاحظ أنك تستطيع استخدام المشغلات المناسبة مثل gt (أكبر من)، lt (أقل من)، gte (أكبر من أو يساوي)، lte (أقل من أو يساوي)، exact (مطابقة تمامًا)، contains (يحتوي)، startswith (يبدأ بـ)، endswith (ينتهي بـ)، والعديد من المشغلات الأخرى حسب احتياجاتك.

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...