Skip to content

Serializers

myapp.serializers

CourseSerializer

Bases: HyperlinkedModelSerializer

(de-)serialize the Course model.

Source code in myapp/serializers.py
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
class CourseSerializer(HyperlinkedModelSerializer):
    """
    (de-)serialize the Course model.
    """

    class Meta(HyperlinkedModelSerializer.Meta):
        model = Course

    course_terms = ResourceRelatedField(
        model=CourseTerm,
        many=True,
        read_only=False,
        allow_null=True,
        required=False,
        queryset=CourseTerm.objects.all(),
        self_link_view_name="course-relationships",
        related_link_view_name="course-related",
    )
    """
    A course has zero or more course_term instances so include the CourseTermSerializer.
    See [{json:api} compound document](https://jsonapi.org/format/#document-compound-documents).

    (Also used for `related_serializers` for DJA 2.6.0)
    """
    included_serializers = {
        "course_terms": "myapp.serializers.CourseTermSerializer",
    }

course_terms = ResourceRelatedField(model=CourseTerm, many=True, read_only=False, allow_null=True, required=False, queryset=(CourseTerm.objects.all()), self_link_view_name='course-relationships', related_link_view_name='course-related') class-attribute instance-attribute

A course has zero or more course_term instances so include the CourseTermSerializer. See {json:api} compound document.

(Also used for related_serializers for DJA 2.6.0)

included_serializers = {'course_terms': 'myapp.serializers.CourseTermSerializer'} class-attribute instance-attribute

Meta

Bases: Meta

Source code in myapp/serializers.py
61
62
class Meta(HyperlinkedModelSerializer.Meta):
    model = Course
model = Course class-attribute instance-attribute

CourseTermSerializer

Bases: HyperlinkedModelSerializer

(de-)serialize the CourseTerm model.

Source code in myapp/serializers.py
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
class CourseTermSerializer(HyperlinkedModelSerializer):
    """
    (de-)serialize the CourseTerm model.
    """

    class Meta(HyperlinkedModelSerializer.Meta):
        model = CourseTerm

    #: a course_term has zero or one parent courses
    course = ResourceRelatedField(
        model=Course,
        many=False,
        read_only=False,
        allow_null=True,
        required=False,
        queryset=Course.objects.all(),
        self_link_view_name="course_term-relationships",
        related_link_view_name="course_term-related",
    )
    #: a course_term can have many instructors
    instructors = ResourceRelatedField(
        model=Instructor,
        many=True,
        read_only=False,
        allow_null=True,
        required=False,
        queryset=Instructor.objects.all(),
        self_link_view_name="course_term-relationships",
        related_link_view_name="course_term-related",
    )

    #: ``?include=course`` or ``?include=instructors``
    #: `{json:api} compound document <https://jsonapi.org/format/#document-compound-documents>`_
    included_serializers = {
        "course": "myapp.serializers.CourseSerializer",
        "instructors": "myapp.serializers.InstructorSerializer",
    }

course = ResourceRelatedField(model=Course, many=False, read_only=False, allow_null=True, required=False, queryset=(Course.objects.all()), self_link_view_name='course_term-relationships', related_link_view_name='course_term-related') class-attribute instance-attribute

instructors = ResourceRelatedField(model=Instructor, many=True, read_only=False, allow_null=True, required=False, queryset=(Instructor.objects.all()), self_link_view_name='course_term-relationships', related_link_view_name='course_term-related') class-attribute instance-attribute

included_serializers = {'course': 'myapp.serializers.CourseSerializer', 'instructors': 'myapp.serializers.InstructorSerializer'} class-attribute instance-attribute

Meta

Bases: Meta

Source code in myapp/serializers.py
94
95
class Meta(HyperlinkedModelSerializer.Meta):
    model = CourseTerm
model = CourseTerm class-attribute instance-attribute

PersonSerializer

Bases: HyperlinkedModelSerializer

(de-)serialize the Person model.

Source code in myapp/serializers.py
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
class PersonSerializer(HyperlinkedModelSerializer):
    """
    (de-)serialize the Person model.
    """

    class Meta(HyperlinkedModelSerializer.Meta):
        model = Person

    #: a person is an instructor
    instructor = ResourceRelatedField(
        model=Instructor,
        many=False,
        read_only=False,
        allow_null=True,
        required=False,
        queryset=Instructor.objects.all(),
        self_link_view_name="person-relationships",
        related_link_view_name="person-related",
    )

    #: `{json:api} compound document <https://jsonapi.org/format/#document-compound-documents>`_
    included_serializers = {
        "instructor": "myapp.serializers.InstructorSerializer",
    }

instructor = ResourceRelatedField(model=Instructor, many=False, read_only=False, allow_null=True, required=False, queryset=(Instructor.objects.all()), self_link_view_name='person-relationships', related_link_view_name='person-related') class-attribute instance-attribute

included_serializers = {'instructor': 'myapp.serializers.InstructorSerializer'} class-attribute instance-attribute

Meta

Bases: Meta

Source code in myapp/serializers.py
133
134
class Meta(HyperlinkedModelSerializer.Meta):
    model = Person
model = Person class-attribute instance-attribute

InstructorSerializer

Bases: HyperlinkedModelSerializer

(de-)serialize the Instructor model.

Source code in myapp/serializers.py
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
class InstructorSerializer(HyperlinkedModelSerializer):
    """
    (de-)serialize the Instructor model.
    """

    class Meta(HyperlinkedModelSerializer.Meta):
        model = Instructor
        fields = "__all__"

    #: an instructor teaches zero or more course instances
    course_terms = ResourceRelatedField(
        model=CourseTerm,
        many=True,
        read_only=False,
        allow_null=True,
        required=False,
        queryset=CourseTerm.objects.all(),
        self_link_view_name="instructor-relationships",
        related_link_view_name="instructor-related",
    )

    #: an instructor is a person
    person = ResourceRelatedField(
        model=Person,
        many=False,
        read_only=False,
        allow_null=True,
        required=False,
        queryset=Person.objects.all(),
        self_link_view_name="instructor-relationships",
        related_link_view_name="instructor-related",
    )

    #: `{json:api} compound document <https://jsonapi.org/format/#document-compound-documents>`_
    included_serializers = {
        "course_terms": "myapp.serializers.CourseTermSerializer",
        "person": "myapp.serializers.PersonSerializer",
    }

course_terms = ResourceRelatedField(model=CourseTerm, many=True, read_only=False, allow_null=True, required=False, queryset=(CourseTerm.objects.all()), self_link_view_name='instructor-relationships', related_link_view_name='instructor-related') class-attribute instance-attribute

person = ResourceRelatedField(model=Person, many=False, read_only=False, allow_null=True, required=False, queryset=(Person.objects.all()), self_link_view_name='instructor-relationships', related_link_view_name='instructor-related') class-attribute instance-attribute

included_serializers = {'course_terms': 'myapp.serializers.CourseTermSerializer', 'person': 'myapp.serializers.PersonSerializer'} class-attribute instance-attribute

Meta

Bases: Meta

Source code in myapp/serializers.py
159
160
161
class Meta(HyperlinkedModelSerializer.Meta):
    model = Instructor
    fields = "__all__"
model = Instructor class-attribute instance-attribute
fields = '__all__' class-attribute instance-attribute

GradeSerializer

Bases: HyperlinkedModelSerializer

(de-)serialize the Grade model.

Source code in myapp/serializers.py
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
class GradeSerializer(HyperlinkedModelSerializer):
    """
    (de-)serialize the Grade model.
    """

    class Meta(HyperlinkedModelSerializer.Meta):
        model = Grade
        fields = "__all__"

    #: a grade has one course_term
    course_term = ResourceRelatedField(
        model=CourseTerm,
        many=False,
        read_only=False,
        allow_null=False,
        required=True,
        queryset=CourseTerm.objects.all(),
        self_link_view_name="grade-relationships",
        related_link_view_name="grade-related",
    )

    #: a grade has one person
    person = ResourceRelatedField(
        model=Person,
        many=False,
        read_only=False,
        allow_null=False,
        required=True,
        queryset=Person.objects.all(),
        self_link_view_name="grade-relationships",
        related_link_view_name="grade-related",
    )

    included_serializers = {
        "course_terms": "myapp.serializers.CourseTermSerializer",
        "person": "myapp.serializers.PersonSerializer",
    }

course_term = ResourceRelatedField(model=CourseTerm, many=False, read_only=False, allow_null=False, required=True, queryset=(CourseTerm.objects.all()), self_link_view_name='grade-relationships', related_link_view_name='grade-related') class-attribute instance-attribute

person = ResourceRelatedField(model=Person, many=False, read_only=False, allow_null=False, required=True, queryset=(Person.objects.all()), self_link_view_name='grade-relationships', related_link_view_name='grade-related') class-attribute instance-attribute

included_serializers = {'course_terms': 'myapp.serializers.CourseTermSerializer', 'person': 'myapp.serializers.PersonSerializer'} class-attribute instance-attribute

Meta

Bases: Meta

Source code in myapp/serializers.py
199
200
201
class Meta(HyperlinkedModelSerializer.Meta):
    model = Grade
    fields = "__all__"
model = Grade class-attribute instance-attribute
fields = '__all__' class-attribute instance-attribute

NonModelSerializer

Bases: HyperlinkedModelSerializer

Serialize the fields that come from the NonModel Model.

Source code in myapp/serializers.py
233
234
235
236
237
238
class NonModelSerializer(HyperlinkedModelSerializer):
    """Serialize the fields that come from the NonModel Model."""

    class Meta:
        model = NonModel
        fields = "__all__"  # limit to fewer fields by name if you want.

Meta

Source code in myapp/serializers.py
236
237
238
class Meta:
    model = NonModel
    fields = "__all__"  # limit to fewer fields by name if you want.
model = NonModel class-attribute instance-attribute
fields = '__all__' class-attribute instance-attribute