Guest User

Untitled

a guest
Mar 19th, 2021
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.15 KB | None | 0 0
  1. from datetime import datetime, timedelta
  2. from django.core.serializers.json import DjangoJSONEncoder
  3. from django.views.decorators.http import require_http_methods
  4. from django.http import JsonResponse
  5.  
  6.  
  7. # needed to serialize the datetime object
  8. class DateTimeEncoder(DjangoJSONEncoder):
  9.     def default(self, obj):
  10.         if isinstance(obj, datetime):
  11.             return obj.isoformat()
  12.         return super().default(obj)
  13.  
  14.  
  15. @require_http_methods(['GET'])
  16. def response_ajax(request):
  17.     start_date = datetime.now()
  18.     end_date = start_date + timedelta(days=4)
  19.     bookings = Booking.objects \
  20.         .filter(organization_id=request.user.organization_id,
  21.                 booking_time__date__range=(start_date.date(), end_date.date()) \
  22.         .values('foo', 'bar', 'booking_time') # this is important for serialize data
  23.     offices = Office.objects \
  24.         .filter(organization_id__exact=request.user.organization_id) \
  25.         .values('foo', 'bar')
  26.        
  27.     context = {
  28.         'bookings': list(bookings) # querysets cannot be serialized
  29.         'offices': list(offices)
  30.     }
  31.  
  32.     return JsonResponse(context, cls=DjangoJSONEncoder)
Advertisement
Add Comment
Please, Sign In to add comment