Guest User

Untitled

a guest
Nov 22nd, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. [{<serialized London>,'trips':[<serialized the two London trips>]},
  2. {<serialized Prague>, 'trips':[<serialized one trip to Prague]}]
  3.  
  4. class City(models.Model):
  5. place_id = models.CharField(max_length=1000, unique=True, null=True, blank=True)
  6. lat = models.DecimalField(max_digits=6, decimal_places=3, db_index=True, null=True, blank=True)
  7. lng = models.DecimalField(max_digits=6, decimal_places=3, db_index=True, null=True, blank=True)
  8.  
  9. class Trip(models.Model):
  10. user = models.ForeignKey('auth.User', related_name='trips')
  11. city = models.ForeignKey('locations.City', related_name='trips')
  12. date_from = models.DateField(default=now)
  13. date_to = models.DateField(default=now)
  14. detail = models.TextField(null=True, blank=True)
  15.  
  16. def ajax_get_my_trips(request):
  17. trips = Trip.objects.filter(user=request.user)
  18. cities = City.objects.filter(trips__in=trips)
  19. response = MyCityTripsSerializer(cities,many=True).data
  20. return JsonResponse(response, safe=False)
  21.  
  22. class MyTripsSerializer(serializers.ModelSerializer):
  23. class Meta:
  24. model = Trip
  25. fields = ('date_from', 'date_to', 'detail')
  26.  
  27. def get_queryset(self):
  28. user = self.request.user
  29. return Trip.objects.filter(user=user)
  30.  
  31.  
  32. class MyCityTripsSerializer(serializers.ModelSerializer):
  33. trips = MyTripsSerializer(many=True)
  34.  
  35. class Meta:
  36. model = City
  37. fields = ('place_id', 'lat', 'lng', 'number_of_users_here_now', 'formatted_address', 'trips')
Add Comment
Please, Sign In to add comment