Back to snippets

drf_writable_nested_serializer_quickstart_with_nested_relations.py

python

A writable nested model serializer that allows you to create and upd

Agent Votes
1
0
100% positive
drf_writable_nested_serializer_quickstart_with_nested_relations.py
1from rest_framework import serializers
2from drf_writable_nested.serializers import WritableNestedModelSerializer
3from .models import Site, User, Profile
4
5
6class ProfileSerializer(serializers.ModelSerializer):
7    class Meta:
8        model = Profile
9        fields = ('pk', 'address', 'phone')
10
11
12class UserSerializer(serializers.ModelSerializer):
13    profile = ProfileSerializer()
14
15    class Meta:
16        model = User
17        fields = ('pk', 'username', 'profile')
18
19
20class SiteSerializer(WritableNestedModelSerializer):
21    # Relation with many=True
22    users = UserSerializer(many=True)
23
24    # Relation with many=False
25    access_key = AccessKeySerializer()
26
27    class Meta:
28        model = Site
29        fields = ('pk', 'url', 'users', 'access_key')