Вы можете выдать ошибку, когда цена превысит такой лимит.
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = ('id', 'price', 'status')
def validate_price(self, data):
if data > threshold:
raise ValidationError(message='...')
return data
Если вы хотите предупредить пользователя и, основываясь на его ответе, хотите принять решение, вам нужна другая логика. Вам необходимо ввести новую контрольную переменную / param в пост-вводе.
Чтобы установить одну книгу для пользователя в день, переопределите метод проверки в сериализаторе
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = ('id', 'price', 'status')
def validate_price(self, data):
if data > threshold:
raise ValidationError(message='...')
return data
def validate(self, data):
# your logic, et user detail and date and check it with db. if found raise exception as shown above.