साथ select_related मेरे पास है:Django: ManyToManyField
class Award(models.Model) :
name = models.CharField(max_length=100, db_index=True)
class Alias(models.Model) :
awards = models.ManyToManyField('Award', through='Achiever')
class Achiever(models.Model):
award = models.ForeignKey(Award)
alias = models.ForeignKey(Alias)
count = models.IntegerField(default=1)
मैं एक Alias
जो सभी ने अपने achiever_set
और awards
पॉप्यूलेट हो सकती है?
>>> db.reset_queries()
>>> Alias.objects.filter(id="450867").select_related("achiever_set__award").get().achiever_set.all()[0].award.name
u'Perma-Peddle'
>>> len(db.connection.queries)
3
>>> db.reset_queries()
>>> Alias.objects.filter(id="450867").select_related("awards").get().awards.all()[0].name
u'Dwarfageddon (10 player)'
>>> len(db.connection.queries)
2
मैं पुरस्कार है कि कोई उपनाम पहले हो गया है के लिए उपयोग का एक बहुत आवश्यकता पड़ने वाली है (दोनों मध्यवर्ती मेज और खुद को पुरस्कार)। मैं इन सब को कैसे बैच कर सकता हूं?