내가 가지고있는 것 :장고 : ManyToManyField와 select_related
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)
어떻게 그것의 achiever_set
과 awards
가 모두 미리 채워져있는 Alias
를 가질 수 있습니까?
>>> 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
별칭이 이미 확보 된 상 (수상 테이블과 수상 경력 모두)에 대한 액세스 권한이 많이 필요합니다. 이 모든 것을 어떻게 배치 할 수 있습니까?