30 lines
876 B
Python
30 lines
876 B
Python
from rest_framework import serializers
|
|
from .models import Movie, Rating
|
|
from django.contrib.auth.models import User
|
|
from rest_framework.authtoken.models import Token
|
|
|
|
|
|
class UserSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = User
|
|
fields = ["id", "username", "password"]
|
|
extra_kwargs = {'password': {'write_only': True, 'required': True}}
|
|
|
|
def create(self, validated_data):
|
|
user = User.objects.create_user(**validated_data)
|
|
Token.objects.create(user=user)
|
|
return user
|
|
|
|
|
|
class MovieSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Movie
|
|
fields = ["id", "title", "description",
|
|
"no_of_ratings", "average_ratings"]
|
|
|
|
|
|
class RatingSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Rating
|
|
fields = ["id", "stars", "user", "movie"]
|