Cargando

Ir a contenido

X

Verificar si modelo no tiene llave foranea en otro modelo





  AUTOR PREGUNTA

Publicado 17 noviembre 2014 - 00:21
Estoy trabajando con Django y su sistema ORM para el manejo de informacion en bases de datos y tengo una duda en cuanto a las llaves foraneas y mis modelos, tengo el siguiente modelo:

class Site(models.Model):
... 
...

Y este otro el cual contiene la llave foranea para Site:

class SiteInfo(models.Model):
... 
...

site = models.ForeignKey(Site)

Existe una forma de obtener los registros en en Sites que no tengan una entrada en SiteInfo?

Gracias de antemano.
  • ¿Tienes la misma pregunta? Yo también
  • Volver arriba


 

Publicado 17 noviembre 2014 - 02:25
Creo que esto te puede funcionar pero no de manera tan eficiente:

with_no_site_info = [site for site in Site.objects.all() if site.site_infos_set.all().count() == 0]


 

Publicado 17 noviembre 2014 - 02:26
Utiliza el metodo filter, eso lo hace:

Site.objects.filter(siteinfo__isnull=True)


   AUTOR PREGUNTA

Publicado 17 noviembre 2014 - 02:38
Gracias felipe con el metodo filter lo hizo sin problemas


X