2010-06-18 24 views
7

¿Es posible tener un DateField sin año? ¿O tendré que usar un CharField? Estoy usando el administrador para editar los modelos.Django DateField sin año

Respuesta

1

A DateField es una fecha completa. Si solo le interesan el mes y el día, utilice __month y __day al realizar consultas.

+0

así que si quería recuperar un conjunto de consultas de todas las fechas a partir de hoy sería algo así como: today = datetime.date.today() Object.object.filter(date__day=today).exclude() ? Gracias – Ali

1

Debe decidir si está bien con un objeto de fecha normal en el modelo (y el DB) y simplemente personalizará los widgets de formulario o si desea que el almacén de datos tenga los datos específicos.

Si solo desea que los formularios se muestren día y mes, debe escribir un widget personalizado y conectarlo al formulario en la clase ModelAdmin. La documentación de Django tiene una muy buena introducción a la escritura custom fields y custom widgets

En ambos casos, es mucho más fácil crear una subclase de un Modelo/widget existente y cambiar el comportamiento que desea.

0

Esto funciona para mí:

data_sorted = sorted(My_Model.objects.all(), key=lambda e: e.myDataField.strftime("%m-%d")) 
Cuestiones relacionadas