update
This commit is contained in:
@@ -1 +1 @@
|
||||
from .ad_like import * # noqa
|
||||
from .like import *
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
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 ListHomeAdSerializer
|
||||
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 = ListHomeAdSerializer(many=False, read_only=True)
|
||||
ad = HomeAdListSerializer(many=False, read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = UserLike
|
||||
@@ -28,18 +28,7 @@ class RetrieveUserLikeSerializer(BaseUserLikeSerializer):
|
||||
class CreateUserLikeSerializer(BaseUserLikeSerializer):
|
||||
ad = serializers.PrimaryKeyRelatedField(queryset=AdModel.objects.all())
|
||||
|
||||
class Meta(BaseUserLikeSerializer.Meta): ...
|
||||
|
||||
def validate(self, data):
|
||||
user = self.context["request"].user
|
||||
ad = data["ad"]
|
||||
|
||||
if UserLike.objects.filter(user=user, ad=ad).exists():
|
||||
raise ValidationError({"detail": _("Siz bu e’longa allaqachon like bosgansiz.")})
|
||||
|
||||
return data
|
||||
|
||||
def create(self, validated_data):
|
||||
validated_data['user'] = self.context['request'].user
|
||||
like = UserLike.objects.create(**validated_data)
|
||||
return like
|
||||
class Meta(BaseUserLikeSerializer.Meta):
|
||||
fields = [
|
||||
"ad",
|
||||
]
|
||||
Reference in New Issue
Block a user