Advertisement
Guest User

Untitled

a guest
May 4th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. {
  2. "my_objects": [
  3. {
  4. "my_object_order": 1,
  5. "related_topics": [{"title": "my_title", "subtitle": "my_subtitle"}, {"title": "my_title2", "subtitle": "my_subtitle2"}],
  6. "collected_at": "2016-05-02T20:52:38.989Z",
  7. }
  8. }
  9.  
  10. class TopicSerializer(serializers.ModelSerializer):
  11. class Meta:
  12. model = MyTopic
  13. fields = ["title", "subtitle"]
  14.  
  15. class MyObjectSerializer(serializers.ModelSerializer):
  16.  
  17. related_topics = TopicSerializer(many=True)
  18.  
  19. class Meta:
  20. model = MyObject
  21. fields = ("my_object_order",
  22. "related_topics")
  23.  
  24. def create(self, validated_data):
  25. """
  26. Saving serialized data
  27. """
  28. related_topics_list = validated_data.pop("related_topics", [])
  29. obj = MyObject.objects.create(**validated_data)
  30. for topics_data in related_topics_list:
  31. MyTopic.objects.create(trend=trend, **topics_data)
  32. return obj
  33.  
  34. def get(self, request):
  35. params = request.QUERY_PARAMS
  36. # Filtering data
  37. obj_list = my_fun(MyObject, params)
  38. response = {"my_objects": obj_list.values("my_object_order",
  39. "collected_at",
  40. "related_topics")}
  41. return Response(response)
  42.  
  43. {
  44. "my_objects": [
  45. {
  46. "my_object_order": 1,
  47. "related_topics": 5,
  48. "collected_at": "2016-05-02T20:52:38.989Z",
  49. }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement