ব্যবহার count()
:
sc=scorm.objects.filter(Header__id=qp.id)
if sc.count() > 0:
...
উদাহরণস্বরূপ সুবিধাটি len()
হল, ক্যোরিসেটটি এখনও মূল্যায়ন করা হয়নি:
count()
SELECT COUNT(*)
পর্দার পিছনে একটি কার্য সম্পাদন করে , তাই count()
পাইথন অবজেক্টগুলিতে সমস্ত রেকর্ড লোড করা len()
এবং ফলাফলটি কল করার চেয়ে আপনার সর্বদা ব্যবহার করা উচিত ।
এটি মাথায় রেখে , যখন ক্যোয়ারীসেটগুলি মূল্যায়ন করা হয় তখন পঠনযোগ্য ।
আপনি যদি get()
উদাহরণস্বরূপ ব্যবহার করেন scorm.objects.get(pk=someid)
এবং অবজেক্টটি উপস্থিত না থেকে একটি ObjectDoesNotExist
ব্যতিক্রম উত্থাপিত হয়:
from django.core.exceptions import ObjectDoesNotExist
try:
sc = scorm.objects.get(pk=someid)
except ObjectDoesNotExist:
print ...
আপডেট:
এটি ব্যবহার করাও সম্ভব exists()
:
if scorm.objects.filter(Header__id=qp.id).exists():
....
ফেরত পাঠায় True
যদি QuerySet কোনো ফলাফল রয়েছে এবং False
যদি না। এটি কোয়েরিটি সহজতম এবং দ্রুততম উপায়ে সম্পন্ন করার চেষ্টা করে , তবে এটি একটি সাধারণ ক্যোরিসেট ক্যোয়ারী হিসাবে প্রায় একই ক্যোরিয়াকে কার্যকর করে।