postlike.py 880 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from django.core.urlresolvers import reverse
  2. from rest_framework import serializers
  3. from ..models import PostLike
  4. __all__ = [
  5. 'PostLikeSerializer',
  6. ]
  7. class PostLikeSerializer(serializers.ModelSerializer):
  8. id = serializers.SerializerMethodField()
  9. username = serializers.SerializerMethodField()
  10. url = serializers.SerializerMethodField()
  11. class Meta:
  12. model = PostLike
  13. fields = (
  14. 'liked_on',
  15. 'id',
  16. 'username',
  17. 'url',
  18. )
  19. def get_id(self, obj):
  20. return obj['user_id']
  21. def get_username(self, obj):
  22. return obj['user_name']
  23. def get_url(self, obj):
  24. if obj['user_id']:
  25. return reverse('misago:user', kwargs={
  26. 'slug': obj['user_slug'],
  27. 'pk': obj['user_id'],
  28. })
  29. else:
  30. return None