In my models.py i have a field called "added_by" and it has a foreignkey relationship. Now i want to post the data in the ApiView through post method and i dont have idea how can i post it. can anyone help me with this.And the added by have a foreignkey relationship with User
models.py
'''from django.db import models
# Create your models here.
class RatingRates(models.Model):
Rating = models.IntegerField()
class UserMovie(models.Model):
Movie = models.CharField(max_length=64)
Title = models.CharField(max_length=128)
#rates = models.OneToOneField(RatingRates, on_delete=models.CASCADE, null=True)
def __str__(self):
return self.Movie
class JoinModel(models.Model):
Movie=models.CharField(max_length=64)
Title=models.CharField(max_length=128)
Rating=models.IntegerField()
'''
from django.db import models
from django.contrib.auth.models import User
from django.core.validators import MinValueValidator, MaxValueValidator
class Movie(models.Model):
title = models.CharField(max_length=128)
director = models.CharField(max_length=128)
added_by = models.ForeignKey(User, related_name="movie", on_delete=models.CASCADE, null=True)
added_at = models.DateTimeField(auto_now_add=True)
# rating=models.IntegerField()
class Meta:
db_table = "Movie"
class Rating(models.Model):
movie = models.ForeignKey(Movie, on_delete=models.CASCADE)
rating = models.IntegerField(validators=[MinValueValidator(0),MaxValueValidator(5)])
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='user_rating')
class Meta:
db_table = "Rating"
serializer.py
class MovieSerializer(serializers.ModelSerializer):
class Meta:
model = Movie
fields = ['id', 'title', 'director']
class RatingSerializer(serializers.ModelSerializer):
class Meta:
model = Rating
fields = ['id', 'movie','rating']
views.py
class ListUsers(APIView):
permission_classes = [IsAuthenticated]
def get(self, request, format=None):
movie=Movie.objects.all()
serializer=MovieSerializer(movie,many=True)
return Response(serializer.data)
def post(self, request, *args, **kwargs):
movie_data = request.data
new_movie = Movie.objects.create(title=movie_data["title"], director=movie_data[
"director"])
new_movie.save()
serializer = MovieSerializer(new_movie)
return Response(serializer.data