2017-10-19 7 views
0

J'ai un modèle A:erreur TzInfo lorsque unsing Func() sur un DateTimeField

class A(models.Model): 
    start_datetime = models.DatetimeField() 
    end_datetime = models.DatetimeField() 
    status = models.CharField(max_length=3) 

Et je suis en train de compter le nombre de groupe "ligne" par "jour".

Voici donc ma question:

queryset = A.objects.filter(status='OK') 
queryset = queryset.annotate(day=Func(F('start_datetime'), function='DATE')) 
queryset = queryset.values('day') 
queryset = queryset.annotate(total=Count('id')) 

Et quand je tente d'imprimer le queryset: print(queryset)

J'ai reçu ce message d'erreur:

AttributeError: 'datetime.date' object has no attribute 'tzinfo'

Je comprends pourquoi mais Je ne ai pas comment résoudre ce.

Dans mes paramètres:

LANGUAGE_CODE = 'en' 
TIME_ZONE = 'America/Montreal' 
USE_TZ = True 
USE_I18N = True 
USE_L10N = True 

S'il vous plaît conseiller. Je vous remercie.

Répondre

0

Je trouve une solution alternative qui est celle-ci:

queryset = A.objects.filter(status='OK') 
queryset = queryset.annotate(day=Trunc('start_datetime', 'day', output_field=DateField())) 
queryset = queryset.values('day') 
queryset = queryset.annotate(total=Count('id')) 
queryset = queryset.order_by('-day') 

Il fonctionne comme prévu.