Django REST 'A valid integer is required.'

export const updateCustomer = async (id, customerData) => {
  try {

    customerData.Customer_Age = parseInt(customerData.Customer_Age, 10);

    console.log('updated data:', customerData);
    const token = localStorage.getItem('access_token');

    if (!Number.isInteger(customerData.Customer_Age) || customerData.Customer_Age <= 0) {
      console.log('Customer_Age is not a positive integer');
    }else{
      console.log('Customer_Age is a positive integer');
    }

    const response = await axios.put(`${API_URL}${id}/`, customerData,{
      headers: {
        Authorization: `Bearer ${token}`,
        'Content-Type': 'application/json'
      }
    });
    return response.data;
  } catch (error) {
    console.error('Failed to update:', error.response.data);
  }
};

I conducted several tests, and the results showed that they were all integers.But seems not working, still getting {

  1. Avg_Open_To_Buy: ['A valid integer is required.']

  2. Contacts_Count_12_mon: ['A valid integer is required.']

  3. Customer_Age: ['A valid integer is required.']

  4. Dependent_count: ['A valid integer is required.']

  5. Months_Inactive_12_mon: ['A valid integer is required.']

  6. Months_on_book: ['A valid integer is required.']

  7. Total_Relationship_Count: ['A valid integer is required.']

  8. Total_Revolving_Bal: ['A valid integer is required.']

  9. Total_Trans_Amt: ['A valid integer is required.']

  10. Total_Trans_Ct: ['A valid integer is required.']

}

The other string and floating-point data in the form did not report any errors.So I'm not sure what's going on.

models.py

from django.db import models

class Customer(models.Model):
    CLIENTNUM = models.IntegerField(unique=True)
    Attrition_Flag = models.CharField(max_length=32)
    Customer_Age = models.IntegerField()
    Gender = models.CharField(max_length=8)
    Dependent_count = models.IntegerField()
    Education_Level = models.CharField(max_length=32)
    Marital_Status = models.CharField(max_length=16)
    Income_Category = models.CharField(max_length=32)
    Card_Category = models.CharField(max_length=16)
    Months_on_book = models.IntegerField()
    Total_Relationship_Count = models.IntegerField()
    Months_Inactive_12_mon = models.IntegerField()
    Contacts_Count_12_mon = models.IntegerField()
    Credit_Limit = models.FloatField()
    Total_Revolving_Bal = models.IntegerField()
    Avg_Open_To_Buy = models.IntegerField()
    Total_Amt_Chng_Q4_Q1 = models.FloatField()
    Total_Trans_Amt = models.IntegerField()
    Total_Trans_Ct = models.IntegerField()
    Total_Ct_Chng_Q4_Q1 = models.FloatField()
    Avg_Utilization_Ratio = models.FloatField()

    def __str__(self):
        return str(self.CLIENTNUM)

serializers.py

from rest_framework import serializers
from .models import Customer

class CustomerSerializer(serializers.ModelSerializer):
    Attrition_Flag = serializers.CharField(read_only=True)
    
    class Meta:
        model = Customer
        fields = '__all__'
Вернуться на верх