Шаг 162.
Библиотека PyQt5. Работа с базами данных. Получение сведений о структуре таблицы. Получение сведений об отдельном поле
На этом шаге мы рассмотрим, как получить сведения об отдельном поле.
Сведения об отдельном поле таблицы возвращаются методом field() класса QSqlRecord. Их представляет экземпляр класса QSqlField,
поддерживающий следующие методы:
- name () - возвращает имя поля;
- type () - возвращает тип поля в виде одного из следующих атрибутов класса QVariant,
объявленного в модуле QtCore (здесь приведен список лишь наиболее часто употребляемых типов - полный их список можно найти по адресу
https://doc.qt.io/qt-5/qvariant-obsolete.html#Type-enum):
- Invalid - неизвестный тип;
- Bool - логический (bool);
- ByteArray - массив байтов (QByteArray, bytes);
- char - строка из одного символа (str);
- Date - значение даты (QDate или datetime.date);
- DateTime - значение даты и времени (QDateTime или datetime.datetime);
- Double - вещественное число (float);
- int и LongLong - целое число (int);
- string - строка (str);
- Time - значение времени (QTime или datetime.time);
- uint и ULongLong - положительное целое число (int);
- length () - возвращает длину поля;
- precision () - возвращает количество знаков после запятой для полей, хранящих вещественные числа;
- defaultValue () - возвращает значение поля по умолчанию;
- requiredStatus () - возвращает признак, является ли поле обязательным к заполнению, в виде одного из атрибутов класса QSqlField:
- Required (или 1) - поле является обязательным к заполнению;
- Optional (или 0) - поле не является обязательным к заполнению;
- Unknown (или -1) - определить признак обязательности заполнения поля не представляется возможным;
- isAutoValue () - возвращает True, если значение в поле заносится автоматически (что может быть, например, у поля автоинкремента), и False - в противном случае;
- isReadOnly () - возвращает True, если поле доступно только для чтения, и False - в противном случае.
Полное описание класса QSqlField приведено на странице
https://doc.qt.io/qt-5/qsqlfield.html.
На следующем шаге мы рассмотрим получение сведений об индексе.
Предыдущий шаг
Содержание
Следующий шаг