from rest_framework.fields import SerializerMethodField from rest_framework.serializers import ModelSerializer from engine.blog.models import Post, PostTag from engine.core.utils.markdown import render_markdown class PostTagSerializer(ModelSerializer): class Meta: model = PostTag fields = "__all__" class PostSerializer(ModelSerializer): tags = PostTagSerializer(many=True) content = SerializerMethodField() class Meta: model = Post fields = "__all__" def get_content(self, obj: Post) -> str: return render_markdown(obj.content or "")