Browse Source

fix(serializers): add books_detail SerializerMethodField to AdminBookEditionSerializer

master
Mohsen Taba 1 week ago
parent
commit
8ad28d364a
  1. 11
      apps/hadis/serializers/serializers_admin.py

11
apps/hadis/serializers/serializers_admin.py

@ -3756,6 +3756,7 @@ class AdminBookEditionSerializer(serializers.ModelSerializer):
tag_detail = AdminBookTagSerializer(source="tag", read_only=True) tag_detail = AdminBookTagSerializer(source="tag", read_only=True)
volumes_detail = AdminBookVolumeSerializer(source="volumes", many=True, read_only=True) volumes_detail = AdminBookVolumeSerializer(source="volumes", many=True, read_only=True)
number_of_volumes = serializers.SerializerMethodField() number_of_volumes = serializers.SerializerMethodField()
books_detail = serializers.SerializerMethodField()
researchers = AdminBookResearcherSerializer(many=True, required=False) researchers = AdminBookResearcherSerializer(many=True, required=False)
editors = AdminBookEditorSerializer(many=True, required=False) editors = AdminBookEditorSerializer(many=True, required=False)
researcher_author_id = serializers.IntegerField(write_only=True, required=False, allow_null=True) researcher_author_id = serializers.IntegerField(write_only=True, required=False, allow_null=True)
@ -3816,6 +3817,16 @@ class AdminBookEditionSerializer(serializers.ModelSerializer):
def get_number_of_volumes(self, obj): def get_number_of_volumes(self, obj):
return obj.volumes.count() return obj.volumes.count()
def get_books_detail(self, obj):
return [
{
"id": b.id,
"title": b.title,
"slug": b.slug,
}
for b in obj.books.all()
]
def _handle_author_links(self, edition, validated_data): def _handle_author_links(self, edition, validated_data):
request = self.context.get("request") request = self.context.get("request")
data = request.data if request else {} data = request.data if request else {}

Loading…
Cancel
Save