Контекст: я переместил свой проект из локальной базы данных SQLite в базу данных AWS RDS PostgreSQL.Это была пустая база данных, поэтому миграция прошла успешно, но теперь, когда я тестирую фактическое сохранение данных, я получаю сообщение об ошибке на IntegerField.
models.py
class Item(models.Model):
name = models.CharField(max_length=100)
description = models.TextField(null=True, blank=True)
amount = models.IntegerField(default=0)
test.py
testItem = Item(name="Test item valued at 1000")
testItem.description = "please delete"
testItem.amount = 1000
testItem.save()
И вот, я получаю эту ошибку:
numeric field overflow
DETAIL: A field with precision 5, scale 2 must round to an absolute value less than 10^3.
Ошибка довольно очевидна, я немного ее набираю и все нормально.Но у меня сложилось впечатление, что IntegerFields может доходить до 2147483647. Я понятия не имею, почему с целым числом связаны точность и масштаб.Я просто не совсем уверен, что происходит, моя база данных считает, что это десятичное число?Я запустил новую миграцию, которая прошла без проблем, и поле ранее никогда не было DecimalField.Я чувствую, что, возможно, мне здесь не хватает чего-то очень простого.