serializers.py
1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
from common.models import PyrosUser, Sequence, Plan, Album
from rest_framework import serializers
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = PyrosUser
fields = ['url', 'username', 'email', 'institute', "user_level", "motive_of_registration"]
depth = 1
class SequenceSerializer(serializers.ModelSerializer):
pyros_user = UserSerializer(read_only=True)
class Meta:
model = Sequence
fields = "__all__"
class AlbumSerializer(serializers.ModelSerializer):
sequence = SequenceSerializer(read_only=True)
class Meta:
model = Album
fields = "__all__"
class PlanSerializer(serializers.ModelSerializer):
album = AlbumSerializer(read_only=True)
class Meta:
model = Plan
fields = "__all__"
class SimplePlanSerializer(serializers.ModelSerializer):
class Meta:
model = Plan
exclude = ["album"]
class SimpleAlbumSerializer(serializers.ModelSerializer):
plans = SimplePlanSerializer(read_only=True,many=True)
class Meta:
model = Album
fields = ["name","desc","plans"]
class FullSequenceSerializer(serializers.ModelSerializer):
pyros_user = UserSerializer(read_only=True)
# here albums is the relationmodel with many to many realtion so we have to set many to True
albums = SimpleAlbumSerializer(read_only=True,many=True)
class Meta:
model = Sequence
fields = "__all__"
extra_fields = ["pyros_user","albums"]