13
Tengo dos modelos como este:Django obtener objetos no referenciados por clave externa
class AA(models.Model):
name = models.CharField()
state = models.IngerField()
class BB(models.Model):
aa_id = models.ForeignKey(AA)
Mi pregunta es: ¿Cómo consigo todos los objetos con el estado de AA 10 y que no están en BB?
en SQL hago algo como esto:
select * from AA
where AA.state = 10 and AA.id not in (select aa_id from BB)
o
select * from AA
left join BB on BB.aa_id = AA.id
where AA.state = 10 and BB.id is null
Sé que puedo conseguir todos los objetos de AA y comprobar uno por uno si BB tiene clave externa a la misma. Pero no es lo correcto.
Gracias.
bb no es un campo de modelo de AA – balsagoth
Sí, lo es, es el campo de relación inversa se genera automáticamente. Pruébalo, funciona. –
sí funciona. Tan fácil. Gracias – balsagoth