Я использую Django 2.x
и DRF .
У меня есть модель для сохранения рейтинга для каждой сущности
class UserRideRating(models.Model):
user_ride = models.OneToOneField(UserRide, on_delete=models.CASCADE, related_name='user_ride_rating')
rating = models.PositiveIntegerField(
validators=[validate_rating_range]
)
и serializers.py
class UserRideRatingSerializer(serializers.ModelSerializer):
class Meta:
model = UserRideRating
fields = ('id', 'user_ride', 'rating')
У меня есть возможность создать объект рейтинга, если он еще не существует, или обновить рейтинг, если он уже существует. Кроме того, я хочу проверить валидацию, используя валидацию Serializer по умолчанию, и, таким образом, мой взгляд похож на
@api_view(['POST'])
def rate(request):
serializer = UserRideRatingSerializer(data=request.data)
if serializer.is_valid(raise_exception=True):
# create or update data
return Response(serializer.data)
При передаче данных от почтальона выдает ошибку как
{
"user_ride": [
"This field must be unique."
]
}
Как включить проверку только на достоверные данные, а не на уникальность поля? Хотя user_ride
должен быть уникальным, он может передавать данные запроса.