Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/12/2013, 03:30
abdonroda
 
Fecha de Ingreso: septiembre-2010
Mensajes: 28
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: ¿Cómo crear un "YearField" en Django?

Muchas gracias Ricardo. El caso sería el de solamente el año. Actualmente estaba probando precisamente con el field que tú mencionas, el PositiveIntegerField.

Como la mejor opción es usar PositiveIntegerField, podrías explicarme cómo crear un nuevo field? Me gustaría crear un nuevo field que herede de PositiveIntegerField, y que además solo permita números de cuatro dígitos, es decir, hasta 9999. ¿Cómo tendría que hacer? ¿Algo así?

Código Python:
Ver original
  1. class YearField(models.PositiveSmallIntegerField):
  2.     description = _("Year")
  3.  
  4.     def get_internal_type(self):
  5.         return "YearField"
  6.  
  7.     def formfield(self, **kwargs):
  8.         defaults = {'min_value': 0, 'max_value': 9999}
  9.         defaults.update(kwargs)
  10.         return super(YearField, self).formfield(**defaults)

Última edición por abdonroda; 02/12/2013 a las 04:02