Filtrar lista con rango de fechas

662 views
Skip to first unread message

EFe

unread,
Dec 14, 2014, 10:40:20 PM12/14/14
to djan...@googlegroups.com
Hola, soy novato en Django, estoy usando la version 1.7, no se como hacer para filtrar una lista con un rango de fechas dado desde un inputdate de un html .

Tengo en models.py:

class Paciente(models.Model):
tipo_doc = models.ForeignKey(Tipo_doc)
num_doc = models.CharField(max_length = 20, primary_key = True)
        .....

class Consulta (models.Model):
numero = models.ForeignKey(Paciente)
        fecha = models.DateField()
        .....  

este es el archivo lista.html

 <h5> Fecha desde:&nbsp;&nbsp;  <input class="inputDate" id="fechadesde" value={{ fecha_d }} />&nbsp;&nbsp;&nbsp;&nbsp;
       Fecha hasta:&nbsp;&nbsp;  <input class="inputDate" id="fechahasta" value={{ fecha_h }} />&nbsp;&nbsp;&nbsp;&nbsp; 
        <a href="/clinica/filtrar_consulta" class="button">Filtrar</a>
  </h5>
  <ul class="actions">

  <a href="/clinica/nueva_consulta" class="button">Nueva consulta</a>
  
</ul>
<table class="table">
    <tr>
        <th>Medico</th>

Necesito filtrar la lista de consultas por paciente y entre 2 fechas (fecha_d, fecha_h), pero no se como hacer la vista ni el url. Necesitaría ayuda. Muchas gracias!!!

Julián Cortés

unread,
Dec 15, 2014, 11:26:20 PM12/15/14
to djan...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

No necesita un modelo de consulta o, ¿es que va a registrar las
consultas que se hagan?

El formulario es mejor crearlo en el archivo forms.py

class NombreForm(forms.Form):
fecha_desde = forms.DateField()
fecha_hasta = forms.DateField()
...

plantilla.html

<form action="" method="get">
{{ form.as_p }}
</form>

views.py

def consulta_paciente(request):
form = NombreForm(request.GET or None)
if form.is_valid():
fecha_desde = form.cleaned_data['fecha_desde']
fecha_hasta = form.cleaned_data['fecha_hasta']

pacientes = Paciente.objects.filter(fecha__range=(fecha_desde,
fecha_hasta))
# siguientes intrucciones ...



El 14/12/14 a las 22:40, EFe escribió:
> -- -- Ha recibido este mensaje porque está suscrito a Grupo "Grupo
> de Usuarios del Framework Django de habla hispana" de Grupos de
> Google. Si quieres publicar en este grupo, envía un mensaje de
> correo electrónico a djan...@googlegroups.com Para anular la
> suscripción a este grupo, envíe un mensaje a
> django-es-...@googlegroups.com Para obtener más opciones,
> visita este grupo en http://groups.google.com.bo/group/django-es.
> --- Has recibido este mensaje porque estás suscrito al grupo
> "Django-es" de Grupos de Google. Para anular la suscripción a este
> grupo y dejar de recibir sus mensajes, envía un correo electrónico
> a django-es+...@googlegroups.com
> <mailto:django-es+...@googlegroups.com>. Para acceder a más
> opciones, visita https://groups.google.com/d/optout.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJUj7RpAAoJEJd7DW9aHbxFEVwP/3+AwQn3N3Fo8MxdP4wv7kSj
pg0dWjKUGoHEFJpnrtx9tvtpC/Q1eD1tvbDELBCvFjLQgUlUyKU+CmNY2w95nhfP
AbkKYBFwCDJr7S22RHPOqXj0WOQ5xLRo+hZKzmt9ybR/o3Jv8nwQ34EkKgYyBUsu
Nxm+GwPxMILh800A53vnQ6TVS4nNzkrtm43aoYH5KUZPZYp9vyDIoqUX5Wt83mXy
Ri2V9HgeAhcLRINxjfRf9oyD8VHgOTsvVqpHBh5kgo8PmtEadKSUjBaL7eiuYYEV
IPDpFRKhsGILLBPxf6i9mpWjkq3QUBqbA/i6E5tjC+bipF30F03Se6bDbmzRjbu/
h02IQDQucaCnWaLggDF1DY9/6vdPTXJ+BHt+YBm+gl9TY+DWOrrFc9BxtVMz24rf
7pC4LEf9TPOLSxCIW27ZeX6oxGOnIDM9VN/GKLlfseaqbx+GhD4i9KZSH1zVEn3s
pPUSQxUArpR7j2akJ9pjd3JzMN1DXdhRvsiq4s1n06h3f0bDmrFv2OSZx75rhHhi
ucm38ADlz5Agyuh+pYSl2dVimXJ98MWagMr7bq7tqlfX5i5tlDdnpQmDIHhzkAsC
Ov6jCgAYeHwkncDXPNx2IOdwfPFS/mYFSY6bJxss0o15+4zFOpBe11MLJ1kpEbFL
kxohnu/cufLcTFsMyrLg
=8++U
-----END PGP SIGNATURE-----

EFe

unread,
Dec 16, 2014, 4:36:58 AM12/16/14
to djan...@googlegroups.com
Hola Julián, gracias por responder, necesito guardar las consultas para armar un historia clínica (serian las consultas filtradas por Paciente y por rango de fechas).

Saludos

Julián Cortés

unread,
Dec 16, 2014, 1:25:36 PM12/16/14
to djan...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Pero no creo que sea buena idea agregar un registro en cada consulta.
Ya tiene la forma de hacer la consulta, solo es adaptarla y ya.

El 16/12/14 a las 04:36, EFe escribió:
> -- -- Ha recibido este mensaje porque está suscrito a Grupo "Grupo
> de Usuarios del Framework Django de habla hispana" de Grupos de
> Google. Si quieres publicar en este grupo, envía un mensaje de
> correo electrónico a djan...@googlegroups.com Para anular la
> suscripción a este grupo, envíe un mensaje a
> django-es-...@googlegroups.com Para obtener más opciones,
> visita este grupo en http://groups.google.com.bo/group/django-es.
> --- Has recibido este mensaje porque estás suscrito al grupo
> "Django-es" de Grupos de Google. Para anular la suscripción a este
> grupo y dejar de recibir sus mensajes, envía un correo electrónico
> a django-es+...@googlegroups.com
> <mailto:django-es+...@googlegroups.com>. Para acceder a más
> opciones, visita https://groups.google.com/d/optout.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJUkHkcAAoJEJd7DW9aHbxFEIoP/1tb7aPzufMFh2d7YQFiTvwd
z91rbSEgmGmgJqtTtlFSu4z3BE7uiDwczD6u6btOIWeghCLDw1ozbpxd/BVGUuLI
7+IUPKIP6imA3UAwruSKfTKaHc6X3gBAmU+bzLadaDHFSbrJqxfO15DLff9B+0Ee
Zy8blVpHQs011q1oW1DfrDWhqqXar/zhA1i4olnsjultftMsSIjOjNCT8Gg3cALh
Z8Y3Pq9ji/Bme2SwXJrqCpsfeu44BjsRhBWpeBS5qjOmjosmVXDj45db7t8pHeV/
RbTCmm7rn6gpHfBADoCTuvXNQNjmXi7BX5/7umtAcx8kdWbpIlAgQJxFzQTNaMJp
fJ1NKkZxr1lczU94L8EJfLVMjy68loZ+xfETCRmajyy214ZSspYGX58n9QGgDOGs
765ZSrqcF/AZ+PjaFNLmyiwMUHOXt14T27F1vv0vescyYXp6jXFTZkpQD/aPcG02
b8bvrtMJd8sGB/l/MmdLyh3ZD61oH456dOSxKMlOAIH1d7i+Eb/+NKtElEV7cfIJ
L5v1qst6m95c2flaGp+LIW5oijSYVXO+e+XmAjgWZJ5z2kmxf95XxJWmcFFR1zVu
bGvaeyKJwweWTzN6PU1nk9m8sSebEsJr8DXTWAIJyQKoLtI+93mI2hNtIzQXNs5r
D8wiC+pIbuYeFAsj/k4j
=18if
-----END PGP SIGNATURE-----
Reply all
Reply to author
Forward
0 new messages