Lo que estoy tratando de hacer es anotar un conjunto de consultas con las cadenas de días de la semana ( "monday", "tuesday" etc.).
Entiendo cómo obtener los valores int:
queryset = queryset.annotate( weekday_int=ExtractWeekDay("date"), ) Pero tengo problemas para obtener los valores de las cadenas. Intenté usar un ExpressionWrapper , pero los objetos F no parecen funcionar bien con los objetos Date .
Estoy usando postgres como mi base de datos subyacente, pero no puedo encontrar un nombre de Extract lookup_name .
He probado esto:
import calendar class ExtractWeekDayName(ExtractWeekDay): @property def output_field(self): return CharField() def convert_value(self, value, expression, connection, context): v = super(ExtractWeekDayName, self).convert_value(value, expression, connection) try: return calendar.day_name[int(v)].lower() except (ValueError, IndexError): return 'error' except TypeError: # NoneType return ''Parece legitimo.