Ho un modello django in questo modo:Django - valore Accesso ForeignKey senza colpire banca dati
class Profile_Tag(models.Model):
profile = models.ForeignKey(Profile)
tag = models.ForeignKey(Tag)
e una vista in questo modo:
pts = Profile_Tag.objects.all()
for pt in pts:
print pt.profile.id
non v'è alcun modo per accedere al profilo ForeignKey senza colpire il database ogni volta? Non voglio interrogare la tabella dei profili. Voglio solo prendere gli ID dalla tabella Profile_Tag.
Come fai a sapere che "colpisce" il database? Esiste un'ampia gestione della cache sia nel livello ORM che nel database. –
Bene, a chiunque altro leggendo questo e per rispondere alla domanda di Lott ... fa un DB colpito in Django 1.4 (almeno). È possibile attivare la registrazione del database per vedere tutte le query e risultati 'pt.profile.id' in una query mentre' pt.profile_id' no. È possibile che la chiamata a '.id' non abbia esito positivo, quindi è possibile che ciò cambi in futuro (o già è diverso, non ho provato le versioni più recenti). –