Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

144
Vistas
Python crea un dictado ordenado con las 30 claves del día más reciente

Hola, estoy escribiendo una aplicación de Django que informa sobre los artículos comprados diariamente. Quiero organizar los datos en una estructura de diccionario así...

 monthly_items = { "Apr-27" : [ list of objects purchased on April-27th ] "Apr-26" : [ list of objects purchased on April-26th ] "Apr-25" : [ list of objects purchased on April-25th ] "Apr-24" : [ list of objects purchased on April-24th ] ... "Mar-27" : [ list of objects purchased on March-27th ] }

en este momento, mi código se ve así (start_date y end_date están configurados para el mes pasado y hoy, respectivamente):

 month_dict = { 1: 'Jan', 2: 'Feb', 3: 'Mar', 4: 'Apr', 5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec', } from collections import OrderedDict monthly_items = OrderedDict() # pull items from last 30 days items = Item.objects.filter(create_date__gte=start_date, create_date__lt=end_date).order_by('-create_date') for item in items: day = str(month_dict.get(item.create_date.month)) + '-' + str(item.create_date.day) day_items = monthly_items.get(day, []) day_items.append(item)

esto funciona muy bien, y obtengo la estructura de diccionario que quiero, pero mi problema es que si no hay artículos comprados el 24 de abril, no habrá ninguna clave en el diccionario, y cuando imprimo mi dict en html, me falta una columna del 24 de abril cuando en realidad quiero una pero con una lista vacía. ¿Hay alguna manera de completar previamente un dictado ordenado con los 30 días más recientes como claves (con compatibilidad con meses cruzados)?

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda