class CategoryHALSerializer(HALSerializer): serializer_url_field = CategoryHyperlinkedIdentityField _display = DisplayField() departments = _NestedDepartmentSerializer(many=True) handling_message = serializers.SerializerMethodField() class Meta: model = Category fields = ( '_links', '_display', 'name', 'slug', 'handling', 'departments', 'is_active', 'handling_message', ) def get_handling_message(self, obj): return ALL_AFHANDELING_TEXT[obj.handling]
def get_departments(self, obj): return _NestedDepartmentSerializer( obj.departments.filter(categorydepartment__is_responsible=True), many=True).data