Meine Modelle:Django prefetch_related auf __str __() -Methode
class B(models.Model):
label = models.CharField()
class A(models.Model):
b = models.OneToOneField(B, null=True, blank=True, on_delete=models.PROTECT)
def __str__(self):
return u'[{}] Event:'.format(self.b.label)
Nun sucht Anfragen während einer Anfrage mit django-Debug-Toolbar getan, ich festgestellt, dass viele Abfragen ausgeführt werden, mehr als 200-mal. Ich verstehe, dass ich mit prefetch_related lösen werde, aber wo muss ich es setzen, wenn das Nachschlagen innerhalb der str-Methode erfolgt?
Nein! Gib es nicht in "__str__". Bitte posten Sie Ihre Ansicht Code, das ist wahrscheinlich wo alle diese Fragen passieren –
Die 200 + Zeiten werden durch Auswahl in Form der browsbaren API verursacht – user1518217
gut, ich glaube nicht, dass das anpassbar ist. Und es ist in Ordnung, solange Ihre Endbenutzer diese Seite nicht sehen. Sie sollten Ihre eigenen Ansichten optimieren –