Reputation: 445
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
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