Ich habe 2 Modelle:Optimierung Django Many-to-Many-Abfrage mit benutzerdefinierten durch Tabelle
class ModelA:
fieldA = models.ManyToManyField(ModelB, through="CustomThroughTable")
def foobar(self):
return self.fieldA.through.objects.filter(fieldA=self)
class ModelB:
whatever = models.CharField()
Ich möchte eine Funktion in ModelA
implementieren, die alle Werte von fieldA
in der durch Tabelle drucken würde. Die aktuelle Implementierung der Funktion foobar
tut, was ich gerade brauche, aber ich denke, es ist ziemlich ineffizient. Gibt es einen besseren Weg, dies zu tun? Vielen Dank.
Was hält Sie für ineffizient? –
Ich benutzte 'debug_toolbar', um die Anzahl der SQL-Abfragen zu zählen, und es war weit über die Anzahl der vorhandenen Datensätze, was mich dazu brachte zu glauben, dass diese Funktion der Schuldige ist. – 7ball