vbv/server/vbv_lernwelt/duedate/serializers.py

40 lines
1.1 KiB
Python

from rest_framework import serializers
from vbv_lernwelt.core.utils import StringIDField
from vbv_lernwelt.duedate.models import DueDate
class DueDateSerializer(serializers.ModelSerializer):
id = StringIDField()
course_session_id = serializers.SerializerMethodField()
circle = serializers.SerializerMethodField()
class Meta:
model = DueDate
fields = [
"id",
"start",
"end",
"manual_override_fields",
"title",
"assignment_type_translation_key",
"date_type_translation_key",
"subtitle",
"url",
"url_expert",
"course_session_id",
"circle",
]
def get_course_session_id(self, obj):
return str(obj.course_session.id)
def get_circle(self, obj):
if obj.circle_data:
return {
"id": obj.circle_data.get("id"),
"title": obj.circle_data.get("title"),
"slug": obj.circle_data.get("slug"),
}
return None