from rest_framework import serializers from core.apps.accounts.models import UserLike from core.apps.api.models import AdModel from core.apps.api.serializers.ad.home_api import HomeAdListSerializer from rest_framework.exceptions import ValidationError from django.utils.translation import gettext_lazy as _ class BaseUserLikeSerializer(serializers.ModelSerializer): ad = HomeAdListSerializer(many=False, read_only=True) class Meta: model = UserLike fields = [ "id", "ad", ] class ListUserLikeSerializer(BaseUserLikeSerializer): class Meta(BaseUserLikeSerializer.Meta): ... class RetrieveUserLikeSerializer(BaseUserLikeSerializer): class Meta(BaseUserLikeSerializer.Meta): ... class CreateUserLikeSerializer(BaseUserLikeSerializer): ad = serializers.PrimaryKeyRelatedField(queryset=AdModel.objects.all()) class Meta(BaseUserLikeSerializer.Meta): fields = [ "ad", ]