Есть ли простой способ определить или найти базовый тип поля SQL для поля Django для любого из поддерживаемых по умолчанию бэкэндов базы данных? Я искал в Интернете, но нет документации о том, как поля Django представлены в SQL в каждой из поддерживаемых баз данных. Для меня единственный способ увидеть базовый тип поля SQL - это запустить команду mysqlmigrate для manage.py и изучить код SQL.


Тип зависит от серверной части базы данных, поэтому сначала вам нужно установить соединение с базой данных:
from django.db import connection
и теперь вы можете искать поле через модель Meta API:
my_field = MyModel._meta.get_field('my_field_name')
и используйте его метод db_type:
my_field.db_type(connection)
который вернет что-то вроде "varchar (10)".
Однако убедитесь, что вам действительно нужно это сделать. Обычно эта информация полезна только внутри миграций.