[pyar] Django: subquery complicada

Martín Gaitán gaitan en gmail.com
Lun Mayo 6 09:44:59 -03 2019


Gente, tengo una query mas o menos compleja que no logro hacer andar.
Les muestro los modelos simplificados

class Mesa(models.Model):
    eleccion = models.ManyToManyField('Eleccion')

class Eleccion(models.Model):
    nombre = models.CharField(max_length=50)
    opciones = models.ManyToManyField('Opcion')


class Opcion(models.Model):
    nombre = models.CharField(max_length=50)


class VotoMesaReportado(models.Model):
    mesa = models.ForeignKey(Mesa)
    eleccion = models.ForeignKey(Eleccion)
    opcion = models.ForeignKey(Opcion)
    votos = models.PositiveIntegerField()

    class Meta:
        unique_together = ('mesa', 'eleccion', 'opcion')

Necesito obtener las mesas que tengan "elecciones sin reportar", es decir,
aquellas que no tengan instancias de VotoMesaReportado asociadas para una o
mas de sus elecciones relacionadas. Por ejemplo, si una mesa asociada a la
eleccion Gobernador y a Intendendente, ya tiene VotoMesaReportado (para una
o mas opciones) en Gobernador, pero ninguna en Intendente, entonces debe
estar incluida. Si ademas hay otra elección pero no tiene que ver con la
mesa, no debe afectar.

Tengo un PR abierto con un test fallando y mi intento de resolverlo con una
subquery anotada, pero por algun motivo que no desculo me funciona mal.

https://github.com/OpenDataCordoba/escrutinio-social/pull/17

Es el sistema de escrutinio paralelo que se usará el domingo que viene en
la elección de Córdoba, y tiene el objetivo de validar el escrutinio
oficial. Ayuda bienvenida
https://genfm.com.ar/2019/04/ongs-y-partidos-politicos-proponen-mayor-transparencia-electoral/

Desde ya gracias.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20190506/f9d73ff6/attachment.html>


Más información sobre la lista de distribución pyar