Модуль 'django.db.backends.utils' не имеет атрибута 'typecast_decimal'

Когда я бегу

python manage.py inspectdb --database=sybase_database

заканчивается сообщением об ошибке:

Database.register_converter(Database.DT_DECIMAL, util.typecast_decimal) AttributeError: module 'django.db.backends.utils' has no attribute 'typecast_decimal'

$ pip freeze
certifi==2021.10.8
chardet==3.0.4
defusedxml==0.7.1
Django==2.2.4
django-allauth==0.40.0
django-bootstrap-form==3.4
django-bootstrap3==15.0.0
django-crispy-forms==1.7.2
django-crudbuilder==0.2.7
django-debug-toolbar==1.10.1
django-filter==2.2.0
django-mssql-backend==2.8.1
django-tables2==2.4.1
idna==2.8
importlib-metadata==2.1.1
oauthlib==3.1.1
pyodbc==4.0.32
python-dateutil==2.8.2
python3-openid==3.2.0
pytz==2021.3
requests==2.21.0
requests-oauthlib==1.3.0
six==1.16.0
sqlany-django==1.13
sqlanydb==1.0.11
sqlparse==0.4.2
urllib3==1.24.3
zipp==3.6.0

Ubuntu 18.04

Замените typecast_decimal() на decimal.Decimal()

измените код base.py следующим образом

Database.register_converter("decimal", decoder(decimal.Decimal))

и в utils.py можно вернуть

decimal.Decimal()

возможно, вам помогут

sqlany-django больше не поддерживается; последний раз он был обновлен в мае 2016 года.

Вы можете установить патч django.db.backends.utils.typecast_decimal в файле manage.py или AppConfig.

import decimal

from django.db.backends import utils

utils.typecast_decimal = decimal.Decimal  # For sqlany_django/base.py

Ссылка: https://github.com/sqlanywhere/sqlany-django/pull/15

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