ধরুন আমার কাছে এই মডেলটি রয়েছে:
class PhotoAlbum(models.Model):
title = models.CharField(max_length=128)
author = models.CharField(max_length=128)
class Photo(models.Model):
album = models.ForeignKey('PhotoAlbum')
format = models.IntegerField()
এখন যদি আমি দক্ষতার সাথে অ্যালবামের একটি উপসেটে ফটোগুলির একটি উপসেট দেখতে চাই। আমি এটি এরকম কিছু করি:
someAlbums = PhotoAlbum.objects.filter(author="Davey Jones").prefetch_related("photo_set")
for a in someAlbums:
somePhotos = a.photo_set.all()
এটি কেবলমাত্র দুটি ক্যোয়ারী করে, যা আমি প্রত্যাশা করি (একটি অ্যালবামগুলি পেতে এবং তারপরে একটি যেমন ফটোআলবাম_আইডি ইন ফটোতে নির্বাচন করুন *) one
সবকিছু দুর্দান্ত।
তবে আমি যদি এটি করি:
someAlbums = PhotoAlbum.objects.filter(author="Davey Jones").prefetch_related("photo_set")
for a in someAlbums:
somePhotos = a.photo_set.filter(format=1)
তারপরে এটি কি এক টন অনুসন্ধান করে WHERE format = 1
! আমি কি কিছু ভুল করছি বা জ্যাঙ্গো যথেষ্ট স্মার্ট নয় এটি বুঝতে পেরে এটি ইতিমধ্যে সমস্ত ফটো এনেছে এবং সেগুলি পাইথনে ফিল্টার করতে পারে? আমি শপথ করে বলছি যে কোথাও ডকুমেন্টেশনে পড়েছি যে এটি করার কথা ...