iexact
выполняет проверку равенства без учета регистра, которая обычно используется для строк.Для десятичных чисел с двумя десятичными разрядами серверная часть базы данных Django, вероятно, будет хранить «5,60» в виде строки для DecimalField
, поэтому iexact-сравнение с этим будет работать, поскольку строки равны.Но так как вы хотите сравнить числа , а не строки, вы должны просто использовать оператор нормального равенства.
from decimal import Decimal
Mdl.objects.get(speed=Decimal("5.6"))
Не используйте строки, вместо этого используйте встроенную в Python Десятичный тип .При извлечении экземпляров модели с помощью Django вы все равно получите экземпляры этого типа, поэтому вам также следует назначить этот тип для обеспечения согласованности.