У меня есть модель Job, которая отображается с помощью modelAdmin. А также у меня есть модель остановки:
class Stop(models.Model):
...
job = models.ForeignKey(to=Job, ...)
stop_number = ...
...
В задании может быть от 2 до 3 остановок.
Я пытался показать первые и вторые названия остановок, используя:
@admin.register(Job)
class JobAdmin(admin.ModelAdmin):
def stop_1(self, obj):
stop = self.stop_set.objects.get(stop_number=1)
return stop.name
def stop_2(self, obj):
stop = self.stop_set.objects.get(stop_number=2)
return stop.name
list_display = ('stop_1', 'stop_2', ...)
Но он выполняет много SQL-запросов при каждом рендеринге представления списка и делает его слишком медленным. Есть ли способ запросить необходимую информацию в одном или нескольких запросах?