У меня есть четыре модели:
Task(models.Model):
fields...
BasicImage(models.Model):
task = models.ForeignKey(Task)
fields...
VisImage(BasicImage):
fields...
IRImage(BasicImage):
fields...
Позже у меня есть код, который делает следующее:
task = Task.objects.get()
basicimages = task.basicimage_set.select_related().all()
imageset1 = basicimages.filter(filter=1)
imageset2 = basicimages.filter(filter=2)
и в шаблоне я в итоге отображаю информацию следующим образом:
{% for i in imageset1 %}
{{ i.visimage.field }}
{% endfor %}
{% for i in imageset2 %}
{{ i.irimage.field %}
{% endfor %}
Однако, согласно панели инструментов Django Debug (и очевидной задержке), Django по-прежнему запрашивает каждый объект .visimage и .irimage.Почему select_related не заботится об этом?