Ich arbeite an einer Django-Webanwendung und bin dabei, die Anzahl der einzelnen Datenbanktreffer zu minimieren, indem ich die Methoden prefetch_related
und select_related
verwende, ich habe eine bestimmte Methode in meinem User
Modell, das zieht ein paar verschiedene verwandte Objekte daraus.prefetch_related für Authentifizierter Benutzer
Und dann benutze ich diese Methode in meinem view
.
def profile(request):
profile_info = request.user.get_profile_info()
*rest of the view*
Das Problem ist, da request.user
nicht von den normalen Abfragemethoden abgerufen, bekomme ich nicht die prefetch_related
und select_related
zusammen mit Ziehen des Benutzers zu verwenden, und ich kann das keine Möglichkeit finden, abrufen verwandte Daten zusammen mit dem Modell dieses Benutzers.
Gibt es eine Möglichkeit zu sagen, überschreiben das Abrufen des Benutzermodells, so dass ich die Methoden prefetch_related
und select_related
ausführen können?
'Das Problem ist, da request.user nicht von den normalen Abfrage-Methoden abgerufen wird,' können Sie dies bitte erklären? –
Normalerweise ein django Modell abzurufen, erstellen Sie eine Abfrage wie: Model.objects.get (* Abfrage *) Und für die request.user, es wird einfach das Modell Benutzer, wenn Sie request.user in der Ansicht aufrufen. Und die 'prefetch_related' und' select_related' sind in den .objects-Methoden der Modelle verwendbar. – YoungVenus