|
6 | 6 | from classroom.utils.serializer import ValidateUniqueTogetherMixin
|
7 | 7 |
|
8 | 8 |
|
| 9 | +class _ReadingExerciseSerializer(serializers.HyperlinkedModelSerializer): |
| 10 | + class Meta: |
| 11 | + model = ReadingExercise |
| 12 | + fields = ['pk', 'url', 'identifier'] |
| 13 | + extra_kwargs = { |
| 14 | + 'url': {'view_name': 'reading-exercise-detail'}, |
| 15 | + } |
| 16 | + |
| 17 | + |
9 | 18 | class ClassroomSerializer(ValidateUniqueTogetherMixin, serializers.HyperlinkedModelSerializer):
|
10 | 19 | teacher = UserSerializer(read_only=True)
|
11 | 20 | students = UserSerializer(many=True, read_only=True)
|
12 |
| - reading_exercises = serializers.PrimaryKeyRelatedField( |
13 |
| - queryset=ReadingExercise.objects.all(), |
14 |
| - many=True, |
15 |
| - ) |
| 21 | + reading_exercises = _ReadingExerciseSerializer(many=True, read_only=True) |
16 | 22 |
|
17 | 23 | class Meta:
|
18 | 24 | model = Classroom
|
19 | 25 | fields = [
|
20 | 26 | 'pk', 'url', 'name', 'description', 'create_datetime',
|
21 | 27 | 'teacher', 'students', 'reading_exercises',
|
22 | 28 | ]
|
23 |
| - read_only_fields = [ |
24 |
| - 'create_datetime', 'teacher', |
25 |
| - 'students', 'reading_exercises' |
26 |
| - ] |
| 29 | + read_only_fields = ['create_datetime'] |
27 | 30 | extra_kwargs = {
|
28 | 31 | 'url': {'view_name': 'classroom-detail'},
|
29 |
| - # 'reading_exercises': {'view_name': 'reading-exercise-detail'}, |
30 | 32 | }
|
31 | 33 |
|
32 | 34 | def validate_name(self, name):
|
|
0 commit comments