[pyar] Obtener query Null , Django

Francisco Roldan franciscoproldan en gmail.com
Mar Ago 11 12:39:04 ART 2015


Buenas.

Podes agregarle related_name al campo operador y entonces desde el objeto
operador buscar el descanso mas reciente y usar un manager para acceder
fácilmente a los que están en curso y los que no.

Dejando así los modelos:

class DescansoManager(UserManager):

    def activos(self):
        return self.filter(tiempoFin__isnull=True)

    def finalizados(self):
        return self.filter(tiempoFin__isnull=False)

class Descanso(models.Model):
      operador = models.ForeignKey(User, related_name="descansos")
      tiempoInicio =  models.DateTimeField(auto_now_add=True)
      tiempoFin = models.DateTimeField(null=True)

      objects = DescansoManager()

      class Meta:
          get_latest_by = "tiempoInicio"
          ordering = ['-tiempoInicio']

Teniendo un objeto operador, accederías así:

operador.descansos.activos().latest()

Saludos

El 11 de agosto de 2015, 12:36, Ignacio Benedetti <tranceway en gmail.com>
escribió:

> Hola, hacé el queryset indicando None en el valor de la fecha
>
> Algo así:
> Recreo.objects.filter(hasta=None)
>
> 2015-08-11 12:25 GMT-03:00 Cristian Vazquez <cristianvazquez4 en gmail.com>:
>
>> buenas ,Como va?
>>
>> Estoy con Django 1.8. Necesito registrar el descanso que un empleado
>> puede tomar , asi como su regreso. El empleado decide cuando tomar el
>> descanso.
>>
>> Mi problema es el siguiente. Creo un objecto descanso que guarda el
>> empleado, el inicio y el fin. Pero el fin se setea como NULL. Un empleado
>> esta descansando si tiene fin con NULL y cuando vuelve se setea con la hora
>> a la cual vuelve.
>>
>> ¿Como hago para buscar esa query? ¿ Se les ocurre una mejor idea para
>> implementarlo?
>>
>> Paso el codigo:
>>
>>
>> class Descanso(models.Model):
>>      Operador = models.ForeignKey(User)
>>       TiempoInicio =  models.DateTimeField(auto_now_add=True)
>>       TiempoFin = models.DateTimeField(null=True)
>>
>>
>>       class Meta:
>>           get_latest_by = "TiempoInicio"
>>           ordering = ['-TiempoInicio']
>>
>>
>>
>>
>> --
>> Saludos.
>> Cristian
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
>
> --
> Ignacio J. M. Benedetti
> mailto:tranceway en gmail.com
> http://github.com/nachopro
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150811/8a14fd49/attachment.html>


More information about the pyar mailing list