Cargando

Verificar si modelo no tiene llave foranea en otro modelo




Pulsa corazón para recibir avisos de nuevas Respuestas

  AUTOR PREGUNTA

Publicado 17 noviembre 2014 - 01: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 - 03: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 - 03:26
Utiliza el metodo filter, eso lo hace:

Site.objects.filter(siteinfo__isnull=True)


   AUTOR PREGUNTA

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


X