( আপডেট : পূর্ণ ওআরএম সমষ্টি সমর্থনটি এখন জ্যাঙ্গো ১.১ এ অন্তর্ভুক্ত রয়েছে । প্রাইভেট এপিআই ব্যবহার সম্পর্কে নীচের সতর্কতার সাথে সত্য, এখানে নথিবদ্ধ পদ্ধতিটি আর জ্যাঙ্গোর ১.১ পোস্টের পরে সংস্করণে কাজ করে না; কেন আমি তা খোঁজতে খোঁজ করি নি; আপনি যদি ১.১ বা তার পরে থাকেন তবে আপনার উচিত যাইহোক সত্যিকারের সমষ্টিগত APIটি ব্যবহার করা উচিত ))
মূল একীকরণ সমর্থন ইতিমধ্যে 1.0 এ ছিল; এটি কেবল অনথিভুক্ত, অসমর্থিত এবং এর উপরে এখনও কোনও বন্ধুত্বপূর্ণ এপিআই নেই। তবে এখানে আপনি কীভাবে এটি ব্যবহার করতে পারবেন 1.1 আগমন না হওয়া পর্যন্ত (আপনার নিজের ঝুঁকিতে, এবং সম্পূর্ণ জ্ঞানে যে ক্যোয়ারী_গ্রুপ_বিযুক্তিটি কোনও পাবলিক এপিআইয়ের অংশ নয় এবং এটি পরিবর্তন হতে পারে):
query_set = Item.objects.extra(select={'count': 'count(1)'},
order_by=['-count']).values('count', 'category')
query_set.query.group_by = ['category_id']
আপনি যদি ক্যোয়ারী_সেটের মাধ্যমে পুনরাবৃত্তি করেন তবে প্রতিটি প্রত্যাবর্তিত মান একটি "বিভাগ" কী এবং "গণনা" কী সহ একটি অভিধান হবে।
আপনাকে এখানে হিসাবের মাধ্যমে অর্ডার দেওয়ার দরকার নেই, এটি কীভাবে হয়েছে তা প্রদর্শনের জন্য এটি অন্তর্ভুক্ত রয়েছে (এটি কোয়েসেট নির্মাণ শৃঙ্খলে অন্য কোথাও নয়, এক্সট্রা () কলটিতে করতে হবে)। এছাড়াও, আপনি গণনা (1) এর পরিবর্তে গণনা (আইডি) হিসাবে ভাল বলতে পারবেন, তবে পরবর্তীটি আরও কার্যকর হতে পারে।
এটিও নোট করুন যে .query.group_by সেট করার সময় মানগুলি অবশ্যই ডিজে কলামের নাম ('বিভাগ') নয় আসল ডিবি কলামের নাম ('শ্রেণি_ইড') হতে হবে। এর কারণ আপনি কোয়েরি অভ্যন্তরীণ পর্যায়ে এমন টুইট করছেন যেখানে সবকিছু ডিবি শর্তাবলী, জ্যাঙ্গো পদগুলিতে নয়।