from rest_framework.serializers import (ModelSerializer, ReadOnlyField, SerializerMethodField) from ..models import ProfileModel from ..models import BlockModel class BlockSerializer(ModelSerializer): blocked_username = ReadOnlyField(source='blocked.username') blocked_avatar = SerializerMethodField() class Meta: model = BlockModel fields = ['blocked', 'blocked_username', 'blocked_avatar'] def get_blocked_avatar(self, instance): blocked_profile = ProfileModel.objects.filter(user_id=instance.blocked.pk) if (blocked_profile.exists()): return blocked_profile[0].avatar.name return '/static/avatars/default.avif'