Ich muss mit Beziehung Tabelle.Was ist besser? city.state.id oder city.state_id
Staat
- id
- Name
Stadt
- id
- Name
- Zustand
Was ist besser in der Leistung?
city.state.id
oder city.state_id
Ich muss mit Beziehung Tabelle.Was ist besser? city.state.id oder city.state_id
Was ist besser in der Leistung?
city.state.id
oder city.state_id
city.state_id
besser ist sowieso. city.state
wird einen anderen Abruf aus der Datenbank tun. Sie können dies mit select_related
vermeiden. Wenn Sie nur id
foriegn Schlüssel benötigen, keine Notwendigkeit von select_related
here.Just do city.state_id
(seit Foriegn Schlüssel-ID wird in der Abfrage holen, die city
Objekt gibt).
city.state_id
ist besser als city.state.id
. Weil es nur eine Abfrage statt zwei macht.
BTW, Sie können Django Debug Toolbar zum Debuggen von Abfragen verwenden.
das <field>_id
Feld, das Sie sehen, ist die Datenbank Spaltenname
Hinter den Kulissen Django anhängt „_id“ auf den Feldnamen der Datenbank Spaltennamen zu erstellen. In dem obigen Beispiel wird die Datenbanktabelle für das Automodell eine MANUFACTURER_ID Spalte
Dies bedeutet also, es nicht eine separate Abfrage zu machen braucht die Fremdschlüssel-Instanz (siehe Select a single field from a foreign key für weitere Details) abgerufen werden.
Aber vorausgesetzt, dass Sie nicht select_related
oder prefetch_related
Haben Sie versucht, einen Benchmark zu erstellen? Wurde bereits auf den Status zugegriffen? – Sayse
@Sayse Kein Typ. Ich weiß nicht, wie ich Benchmark machen kann! und Staat wurde nicht zugegriffen! – Chalist