I got two models Book and Author implemented like this:
class Author(models.Model):
name = models.CharField(max_length=50)
class Book(models.Model):
name = models.CharField(max_length=50)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
In addition to this I got the following Serializers:
class AuthorSerializer(serializers.Serializer):
id = serializers.IntegerField(read_only=True)
name = serializers.CharField(max_length=50)
class BookSerializer(serializers.Serializer):
id = serializers.IntegerField(read_only=True)
name = serializers.CharField(max_length=50)
author = AuthorSerializer()
Serializing objects works without any problems.
Now I got the following situation:
Author's:
| id | name |
|---|---|
| 1 | Josh Robert |
| 2 | J. R. R. Tolkien |
| 3 | Mike Towers |
I get a POST request to an API endpoint on my server
http://127.0..0.1:8000/api/book
looking like this:
payload = {
'name': 'Lord of the rings',
'author': 2
}
How can I use my Serializers to create a new Book with the given name and link it with the author no. 2?