Foros del Web » Programando para Internet » Python »

Como hacer un return de un DateField?

Estas en el tema de Como hacer un return de un DateField? en el foro de Python en Foros del Web. Buenas tengo una clase calendario que me gustaría que me muestre las fechas que contiene al escribir en el shell "Calendario.objects.get(pk=1)", sin embargo esto me ...
  #1 (permalink)  
Antiguo 03/07/2015, 02:47
 
Fecha de Ingreso: junio-2015
Mensajes: 37
Antigüedad: 9 años, 4 meses
Puntos: 0
Como hacer un return de un DateField?

Buenas tengo una clase calendario que me gustaría que me muestre las fechas que contiene al escribir en el shell "Calendario.objects.get(pk=1)", sin embargo esto me devuelve "Calendario object".
Este es el código:
Código:
class Calendario(models.Model):
    fecha_ini = models.DateField('Fecha inicio')
    fecha_fin = models.DateField('Fecha fin')
    def __str__(self):
        return '% %' % (self.fecha_ini.strftime('%d-%m-%Y'), self.fecha_fin.strftime('%d-%m-%Y'))
Alguna idea? gracias
  #2 (permalink)  
Antiguo 03/07/2015, 08:36
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Como hacer un return de un DateField?

Código Python:
Ver original
  1. return '%s %s' % (self.fecha_ini.strftime('%d-%m-%Y'), self.fecha_fin.strftime('%d-%m-%Y'))

Y es el método __unicode__ en django con python 2.x
  #3 (permalink)  
Antiguo 06/07/2015, 08:48
 
Fecha de Ingreso: junio-2015
Mensajes: 37
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Como hacer un return de un DateField?

Vale, y en Python 3.4.3?
Porque con esa linea me devuelve [<Calendario: Calendario object>, <Calendario: Calendario object>]
  #4 (permalink)  
Antiguo 06/07/2015, 12:08
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Como hacer un return de un DateField?

En python 3 esta bien con solo __str__ si tomas un solo objetos y lo pones como string te va a funcionar, en esa forma que lo pones seguro es porque esta dentro de un queryset lo cual tambien deberias considerar en implementar __repr__.

Si estas portando codigo de python 2 a 3 te recomiendo leer https://docs.djangoproject.com/en/1....nicode-methods

Etiquetas: datefield, django, return
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:47.