Ciao a tutti, sto usando Django REST Framework 3.15 con Python 3.10 e incontro un errore HTTP 422 (Unprocessable Entity) durante la validazione di un serializer. Ho un modello 'Product' con un campo 'price' che non può essere negativo. Ho implementato la validazione nel serializer con un metodo validate_price(), ma quando invio una richiesta POST con un prezzo negativo, l'errore non viene catturato correttamente e REST Framework restituisce 422 invece di 400. Ecco il codice:
```python
class ProductSerializer(serializers.ModelSerializer):
def validate_price(self, value):
if value < 0:
raise serializers.ValidationError("Il prezzo non può essere negativo")
return value
```
Nella view, uso ProductSerializer(data=request.data).is_valid(raise_exception=True), ma sembra che la validazione non venga triggerata. Forse ho sbagliato a configurare il campo nel modello? Sto usando Postman per testare la richiesta, e il payload è ben formato. Qualcuno ha già affrontato un problema simile con questa versione di DRF? Avete suggerimenti per intercettare meglio questi errori o per strutturare il serializer?
```python
class ProductSerializer(serializers.ModelSerializer):
def validate_price(self, value):
if value < 0:
raise serializers.ValidationError("Il prezzo non può essere negativo")
return value
```
Nella view, uso ProductSerializer(data=request.data).is_valid(raise_exception=True), ma sembra che la validazione non venga triggerata. Forse ho sbagliato a configurare il campo nel modello? Sto usando Postman per testare la richiesta, e il payload è ben formato. Qualcuno ha già affrontato un problema simile con questa versione di DRF? Avete suggerimenti per intercettare meglio questi errori o per strutturare il serializer?