tengo 2 modelos de Django:¿Cómo leer la clave principal de una clave externa sin cargar el elemento correspondiente?
class A(models.Model):
uniq_name = models.CharField(max_length=30,primary_key=True)
info1 = models.CharField(max_length=30)
info2 = models.CharField(max_length=30)
class B(models.Model):
a = models.ForeignKey(A)
info3 = models.CharField(max_length=30)
info4 = models.CharField(max_length=30)
si lo hago:
b = B.objects.get(id = n), it generates one database request.
Si hago
print b.a.pk : it generate another request.
¿Es eso posible ba de acceso clave principal (que sólo necesitará esta información , no info1 ni info2) sin generar otra solicitud ni usar 'select_related()'?
que podía hacer un:
print b.__dict__['a_id']
funciona, pero me parece muy feo: ¿tienes una manera más agradable?
Eso es muy importante en mi caso, porque necesito cargar la fila relacionada con FOR UPDATE. – lvella