Naella
Naella

Reputation: 445

How To Calculate days Between Two Dates In Django

I want to calculate days difference between two dates in Django. i am trying this code:

My Model :

dateDeDebut = models.DateTimeField(auto_now_add=False, auto_now=False)
dateDeFin = models.DateTimeField(auto_now_add=False, auto_now=False)

My classViewSet :

class MyClassViewSet(viewsets.ModelViewSet):
    serializer_class = MyClassSerializer
    permission_classes = (IsAuthenticated, )

    def perform_create(self, serializer):
        if (condition):
            diff = (self.request.data.get('dateDeFin') - self.request.data.get('dateDeDebut')).days #never executed
        print(diff)

And I get this error :

unsupported operand type(s) for -: 'unicode' and 'unicode'

Upvotes: 2

Views: 8628

Answers (1)

Naella
Naella

Reputation: 445

This solution works for me

class MyClassViewSet(viewsets.ModelViewSet):
    serializer_class = MyClassSerializer
    permission_classes = (IsAuthenticated, )

    def perform_create(self, serializer):
        if (condition):
            start_date = datetime.datetime.strptime(self.request.data.get('dateDeFin'), "%Y-%m-%d %H:%M")
            end_date = datetime.datetime.strptime(self.request.data.get('dateDeDebut'), "%Y-%m-%d %H:%M")
            diff = abs((end_date-start_date).days)
        print(diff)

Upvotes: 3

Related Questions