0
또 다른 prefetch_related 질문, 하품. 장고 1.7이 같은 주어진 모델을 사용장고 prefetch_related 목록 개체를 사용
:
나는 페이지의 모든 기사를 볼 필요가class Armor(models.Model):
name = models.CharField(max_length=32)
defense = models.IntegerField(max_length=18)
class Weapon(models.Model):
name = models.CharField(max_length=32)
attack = models.IntegerField(max_length=18)
class Alignment(models.Model):
name = models.CharField(max_length=32)
# many more attribute models
class Knight(models.model):
name = models.CharField(max_length=32)
strength = models.IntegerField(max_length=18)
iq = models.IntegerField(max_length=18)
alignment = models.ManyToManyField(Alignment)
weapons = models.ManyToManyField(Weapon, blank=True)
armor = models.ManyToManyField(Armor, blank=True)
#... many more m2ms
하지만, 사용자가 이상에 선택하면 난 정말 그들의 갑옷, 무기 또는 정렬에 관심 이러한 속성을 필터로 사용합니다.
예를 들어, 사용자가 페이지 네비게이션에서 '정렬'과 '무기'를 선택하면 각 기사와 함께 무기와 정렬 세트를 표시하려고합니다. 내보기에서
나는
selected_attributes = ['alignment','weapons']
Knight.objects.all().prefetch_related(selected_attributes)
, 나는의의 검색어 prefetch_related()
방법, 즉 그 목록을 전달하고 싶습니다 용도가 선택한 모든 속성 유형의 목록을 가지고하지만 난 수없는 것 그것을 작동 시키십시오. 할 수 있습니까?
! @catavaran에게 감사합니다. 9 분 안에 받아 들일거야 .... –