Sie haben versucht, dies jetzt für ein paar Stunden herauszufinden und haben nichts erreicht.Wie gelingt es Djangos ORM, fremde Objekte zu holen, wenn sie darauf zugreifen?
class other(models.Model):
user = models.ForeignKey(User)
others = other.objects.all()
o = others[0]
An diesem Punkt die ORM nicht für das o.user Objekt gefragt, aber wenn ich etwas tun, was das Objekt berührt, es lädt es aus der Datenbank.
type(o.user)
wird eine Last von der Datenbank führen.
Was ich verstehen möchte ist, wie sie diese Magie tun. Was ist der pythonische Elfenstaub, der dafür verantwortlich ist? Ja, ich habe mir die Quelle angesehen, ich bin ratlos.
+1. Ich mag die Erklärung. –
Danke, genau das wollte ich lernen. – boatcoder
Gibt es eine einfache Möglichkeit, den Cache das zugehörige Objekt zu erzwingen? Ich gooogled django.db.models.fields.related.ReverseSingleRelatedObjectDescriptor und fand diesen Beitrag ... – yegle