Дата обновлялась столько раз, что не должна создавать еще одну запись для даты в БД

Models.py   
 class FreezePrimaryCategory(models.Model):
    freeze_date = models.DateField(default=datetime.datetime.now)
    updated_date = models.DateTimeField(auto_now=True)

    
    def __str__(self) -> str:
        return str(self.freeze_date)  

Views.py

class FreezePrimaryCategory(APIView):
    permission_classes = (IsAuthenticated,)

    @checkToken
    def post(self, request):
        data = request.data
        freeze_date = request.data.get("freeze_date")
        data = {
            'freeze_date': freeze_date,
        }
        serializer = FreezeCategorySerializer(data=data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        else:
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

Serializers.py

class FreezeCategorySerializer(serializers.ModelSerializer): class Meta: model = FreezePrimaryCategory поля = ['freeze_date']

def validate(self, data):
    today = date.today()

    if data['freeze_date'] >= today:
        raise serializers.ValidationError('Date cannot be greater than current Date')
    return data

   

Я хочу, чтобы запись date api в базе данных была только один раз и обновлялась столько же раз.

Вернуться на верх