मैं अपने Django कोड में 2 मॉडल:किसी एक क्वेरी में विदेशी कुंजी वस्तुओं मिलता है - Django
class ModelA(models.Model):
name = models.CharField(max_length=255)
description = models.CharField(max_length=255)
created_by = models.ForeignKey(User)
class ModelB(models.Model):
category = models.CharField(max_length=255)
modela_link = models.ForeignKey(ModelA, 'modelb_link')
functions = models.CharField(max_length=255)
created_by = models.ForeignKey(User)
कहो ModelA 100 रिकॉर्ड है, जो सभी के या ModelB
कोलिंक नहीं हो सकता है हो सकता है अब कहते हैं कि मैं ModelB
से डेटा के साथ हर ModelA रिकॉर्ड की एक सूची प्राप्त करना चाहते हैंमुझे क्या करना होगा:
list_a = ModelA.objects.all()
फिर ModelB के लिए डेटा मैं होता
for i in list_a:
i.additional_data = i.modelb_link.all()
हालांकि इस मैं के प्रत्येक उदाहरण पर एक प्रश्न चलाता है करने के लिए मिलता है। इस प्रकार चलाने के लिए 101 प्रश्न बनाते हैं।
वहाँ सब सिर्फ 1 क्वेरी में इस चलाने का कोई तरीका है। या कम से कम 101 प्रश्नों से कम।
मैं ModelA.objects.select_related().all()
में डालने की कोशिश की है, लेकिन यह कोई असर नहीं लगता था।
धन्यवाद
मुझे पता है कि जब कच्चे एसक्यूएल का उपयोग कर आप नहीं मिलता है एक वस्तु तो आप किसी भी तरह से एक Django वस्तु में परिणाम कन्वर्ट करने के लिए – John