Почему DecimalField сериализуются иногда как число, а иногда как строковое число

У меня есть приложение django с фреймворком rest, и я заметил, что некоторые DecimalField сериализуются как строки, а другие как числа. Почему? Вот моя модель:

class TestModel(models.Model):
   quantity1 = models.DecimalField("quantity1", default=0.0, max_digits=10, decimal_places=3)
   quantity2 = models.DecimalField("quantity2", default=0.0, max_digits=10, decimal_places=3)
   quantity3 = models.DecimalField("quantity3", default=0.0, max_digits=10, decimal_places=3)

   latitude = models.DecimalField(max_digits=9, decimal_places=6)
   longitude = models.DecimalField(max_digits=9, decimal_places=6)

Вот сериализация

"quantity1": "1.000",
"quantity2": "1.000",
"quantity3": "1.000",
"latitude": 45.49907,
"longitude": 9.18749,

Я знаю о проблеме сериализации плавающей точки и их точности (см. здесь), но почему количество представлено как строка, а lat/lon как число? Они оба decimalFields...

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