Advertisement
Guest User

serializers.py

a guest
Jan 18th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. from rest_framework import serializers
  2. from main_app.models import User, Category, Product, ProductVersion
  3.  
  4.  
  5. class ProductVersionSerializer(serializers.ModelSerializer):
  6. product = serializers.HyperlinkedRelatedField(
  7. read_only=True,
  8. view_name='category-detail',
  9. lookup_field='pk'
  10. )
  11.  
  12. class Meta:
  13. model = ProductVersion
  14. exclude = ()
  15.  
  16.  
  17. class ProductSerializer(serializers.ModelSerializer):
  18. product_versions = ProductVersionSerializer(many=True)
  19.  
  20. class Meta:
  21. model = Product
  22. exclude = ()
  23.  
  24.  
  25. class CategorySerializer(serializers.ModelSerializer):
  26. products = ProductSerializer(many=True)
  27.  
  28. class Meta:
  29. model = Category
  30. exclude = ()
  31.  
  32.  
  33. class OrderSerializer(serializers.ModelSerializer):
  34. products = ProductSerializer(many=True)
  35.  
  36. class Meta:
  37. model = Category
  38. exclude = ()
  39.  
  40.  
  41. class UserSerializer(serializers.ModelSerializer):
  42. password = serializers.CharField(write_only=True)
  43.  
  44. class Meta:
  45. model = User
  46. exclude = (
  47. 'is_superuser',
  48. 'is_staff',
  49. 'last_login',
  50. 'date_joined',
  51. 'is_active',
  52. 'groups',
  53. 'user_permissions',
  54. )
  55.  
  56. def create(self, validated_data):
  57. user = User(
  58. email=validated_data['email'],
  59. username=validated_data['username'],
  60. first_name=validated_data['first_name'],
  61. last_name=validated_data['last_name'],
  62. )
  63.  
  64. user.set_password(validated_data['password'])
  65. user.save()
  66.  
  67. return user
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement