cambiar el default date format

1,180 views
Skip to first unread message

Rodrigo Roldan

unread,
Jul 21, 2010, 9:35:26 AM7/21/10
to djan...@googlegroups.com
En el modulo Admin de Django tengo un problema con los campos fecha.
Tengo esta clase.
class Contracts(models.Model):
    contract_id = models.IntegerField(primary_key=True)
    contract = models.TextField()
    start_date = models.DateField()
    end_date = models.DateField()

El tema es que cuando accedo mediante /admin/ para modificar los datos me los muestra de la siguiente forma:
Start_date = 2010-07-21
Luego tengo un boton que dice "Hoy"
Cuando lo presiono esta fecha se transforma en:
21/07/2010
Si le doy guardar funciona correctamente.
Cuando miro la base de datos postgresql obtengo lo siguiente:
2010-07-21
Entonces no entiendo porque no trabaja todo con el formato Y-m-d y asi evito problemas.
Hay alguna manera de hacerlo?? he intentado de muchas maneras y no he tenido exito.

En sintesis quiero cambiar el formato de fecha por defecto. Como puedo hacerlo??
Saludos. Roldyx.
PD:
USE_L10N = False
DATE_FORMAT = 'Ymd'
Pero no hay caso...... :(

Ramiro Morales

unread,
Jul 21, 2010, 9:37:25 AM7/21/10
to djan...@googlegroups.com
2010/7/21 Rodrigo Roldan <rol...@gmail.com>:

> En el modulo Admin de Django tengo un problema con los campos fecha.

¿Qué version de Django estás usando?

--
Ramiro Morales  |  http://rmorales.net

Rodrigo Roldan

unread,
Jul 21, 2010, 9:46:01 AM7/21/10
to djan...@googlegroups.com
Django-1.2.1


--
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.

Ramiro Morales

unread,
Jul 21, 2010, 2:35:55 PM7/21/10
to djan...@googlegroups.com
2010/7/21 Rodrigo Roldan <rol...@gmail.com>:

> Django-1.2.1
>
> El 21 de julio de 2010 10:37, Ramiro Morales <cra...@gmail.com> escribió:
>>
>> 2010/7/21 Rodrigo Roldan <rol...@gmail.com>:
>> > En el modulo Admin de Django tengo un problema con los campos fecha.
>>
>> ¿Qué version de Django estás usando?

Pues acabo de crear un proyecto con una aplicación con un modelo
Contract como el tuyo y tanto en 1.2 como en 1.2.1 simplemente
cambiando USE_L10N=False esas cajas de entrada de fechas toman
el formato YYYY-mm-dd sin problemas. Por ejemplo en 'Start date':
Le di el valor 6 de Julio al campod e una instancia del modelo
y el valor inicial en el formulario es 2010-07-06, cuando hago click
en 'Hoy' cambia a 2010-07-21.

Nota: Yo estoy usando LANGUAGE='es-ar' pero supongo
que en con 'es' también debería funcionar porque [1][2]ambos
locale tiene en definidos en Django en forma completa los
formatos de entrada/salida de datos.

Eso por una parte.

Adicionalmente, y creo que sobre esto ya hemos charlado
en #django-es, usando USE_L10N=True logro que el valor
inicial sea 06/07/2010 y seleccionando 'Hoy' cambia correcta-
mente a 21/07/2010.

Esto con 1.2 funciona en forma directa, pero para que funcione
en 1.2.1 debo aplicarle primero el [3]parche que se ha anexado
al ticket [4]13621 ya que existe una regresión en este aspecto
entre ambas versiones y que es muy posible se solucione
en los próximos días.

Asegurate de tener una version de Django correctamente
instalada, me parece que por allí viene el problema.

Suerte,

--
Ramiro Morales  |  http://rmorales.net

1. http://code.djangoproject.com/browser/django/trunk/django/conf/locale/es_AR/formats.py
2. http://code.djangoproject.com/browser/django/trunk/django/conf/locale/es/formats.py
3. http://code.djangoproject.com/attachment/ticket/13621/ticket13621.diff?format=raw
4. http://code.djangoproject.com/ticket/13621

Pachulero Xtreme

unread,
Jul 21, 2010, 2:40:18 PM7/21/10
to djan...@googlegroups.com
Lo que yo creo que quiere decir es que en el input no le carga el
formato "español" DD-MM-YYYY y sin embargo el javasript si genera este
formato. su pregunta creo que era como hacer para que el input carge
el formato que uno quiera

¿Yo tambien tengo esta pregunta?

Ramiro Morales

unread,
Jul 21, 2010, 2:49:16 PM7/21/10
to djan...@googlegroups.com
2010/7/21 Pachulero Xtreme <medy...@gmail.com>:

> Lo que yo creo que quiere decir es que en el input no le carga el formato
> "español" DD-MM-YYYY y sin embargo el javasript si genera este formato. su
> pregunta creo que era como hacer para que el input carge el formato que uno
> quiera
>
> ¿Yo tambien tengo esta pregunta?

Si realmente ese (DD-MM-YYYY) es el formato usado en España, hablen
con el responsable de los formatos 'es' en Django: porque lo que
especificó en

http://code.djangoproject.com/browser/django/trunk/django/conf/locale/es/formats.py

es otra cosa: DD/MM/YYYY (ver linea 13).

De todas formas, eso se puede personalizar y la documentación explica cómo:

http://docs.djangoproject.com/en/1.2/topics/i18n/localization/#creating-custom-format-files

Pachulero Xtreme

unread,
Jul 21, 2010, 2:54:16 PM7/21/10
to djan...@googlegroups.com
pero lo del input es un error, me refiero deberia de mostrar lo mismo
que cuando hacemos clip en el calendario javascript?


On 21 Jul 2010, at 19:51, Antoni Aloy wrote:

> 2010/7/21 Pachulero Xtreme <medy...@gmail.com>:


>> Lo que yo creo que quiere decir es que en el input no le carga el
>> formato
>> "español" DD-MM-YYYY y sin embargo el javasript si genera este
>> formato. su
>> pregunta creo que era como hacer para que el input carge el formato
>> que uno
>> quiera
>>
>> ¿Yo tambien tengo esta pregunta?
>>

> Hola!
>
> Se trata de un bug introducido en la versión 1.2 al arreglar algunos
> problemas con la librería de fechas y los threads. Me puse en contacto
> con el autor del parche y es consciente del problema que supone.
>
> La versión 1.1 no presenta el problema (pero tampoco tiene la parte de
> localización) y la versión 1.2 tampoco, pero puede presentar los
> problemas que soluciona el 1.2.1 y que crean estos problemas.
>
> Saludos,
>
> --
> Antoni Aloy López
> Blog: http://trespams.com
> Site: http://apsl.net

Rodrigo Roldan

unread,
Jul 21, 2010, 3:36:27 PM7/21/10
to djan...@googlegroups.com
La verdad es que no se que ha pasado... he puesto como dijo ramiro
USE_L10N = False
Y comenzo a funcionar...
El problema mio es que antes habia cambiado varias cosas y nada modificaba las locales..
En resumen, ahora esta funcionando sin agregar ningun parche.
LANGUAGE_CODE = 'es-AR'
USE_I18N = True
USE_L10N = False
Y quedo todo con el formato
2010-07-21

Lo peor de todo es que anteriormente ya habia intentado cambiar USE_L10N = False como decia la documentacion y seguia funcionando mal.. no se porque ahora funciona.. en fin.. un pasito mas hacia el fin de la aplicacion..
Gracias Ramiro, Gracias Colegas. Roldyx.


Si quieres publicar en este grupo, envía un mensaje de correoelectrónico a djan...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages