Часто задаваемые вопросы¶
Раздел «Часто задаваемые вопросы» представляет собой растущую коллекцию часто встречающихся вопросов на известные темы.
- Установка
- Соединения / Двигатели
- Как настроить ведение журнала?
- Как объединить соединения с базой данных? Являются ли мои соединения объединенными?
- Как передать пользовательские аргументы подключения в API базы данных?
- «Сервер MySQL перестал работать»
- «Команды рассинхронизированы; вы не можете выполнить эту команду сейчас» / «Этот объект result не возвращает строки. Он был закрыт автоматически»
- Как автоматически «повторить» выполнение запроса?
- Почему SQLAlchemy выдает так много ROLLBACK?
- Я использую несколько соединений с базой данных SQLite (обычно для проверки работы транзакций), и моя тестовая программа не работает!
- Как получить необработанное соединение DBAPI при использовании Engine?
- Как использовать движки / соединения / сессии с многопроцессорной обработкой Python или os.fork()?
- Метаданные / Схема
- Моя программа зависает, когда я говорю
table.drop()
/metadata.drop_all()
- Поддерживает ли SQLAlchemy функциональность ALTER TABLE, CREATE VIEW, CREATE TRIGGER, Schema Upgrade?
- Как отсортировать объекты таблицы в порядке их зависимости?
- Как получить вывод CREATE TABLE/ DROP TABLE в виде строки?
- Как я могу подклассифицировать Table/Column для обеспечения определенного поведения/конфигурации?
- Моя программа зависает, когда я говорю
- SQL-выражения
- Конфигурация ORM
- Как отобразить таблицу, не имеющую первичного ключа?
- Как настроить столбец, который является зарезервированным словом Python или подобным ему?
- Как получить список всех столбцов, отношений, сопоставленных атрибутов и т.д. для сопоставленного класса?
- Я получаю предупреждение или ошибку «Неявное объединение столбца X под атрибутом Y».
- Я использую Declarative и задаю primaryjoin/secondaryjoin с помощью
and_()
илиor_()
, и получаю сообщение об ошибке, связанной с внешними ключами. - Почему
ORDER BY
рекомендуется использовать сLIMIT
(особенно сsubqueryload()
)?
- Производительность
- Сессии / запросы
- Я перезагружаю данные с помощью Session, но он не видит изменений, которые я сделал в другом месте.
- «Транзакция этого сеанса была откачена из-за предыдущего исключения во время промывки.» (или аналогично)
- Как сделать запрос, который всегда добавляет определенный фильтр к каждому запросу?
- Мой запрос не возвращает то количество объектов, которое мне сообщает query.count() - почему?
- Я создал связку с Outer Join, и хотя запрос возвращает строки, ни один объект не возвращается. Почему?
- Я использую
joinedload()
илиlazy=False
для создания JOIN/OUTER JOIN, и SQLAlchemy не формирует правильный запрос, когда я пытаюсь добавить WHERE, ORDER BY, LIMIT и т.д. (которые зависят от (OUTER) JOIN). - В запросе нет
__len__()
, почему? - Как использовать текстовый SQL в ORM-запросах?
- Я вызываю
Session.delete(myobject)
, а он не удаляется из родительской коллекции! - Почему при загрузке объектов не вызывается
__init__()
? - Как использовать ON DELETE CASCADE с ORM в SA?
- Я установил для своего экземпляра атрибут «foo_id» равным «7», но атрибут «foo» по-прежнему
None
- разве он не должен был загрузить Foo с идентификатором #7? - Как пройтись по всем объектам, связанным с данным объектом?
- Существует ли способ автоматически иметь только уникальные ключевые слова (или другие виды объектов) без выполнения запроса на ключевое слово и получения ссылки на строку, содержащую это ключевое слово?
- Почему post_update выдает UPDATE в дополнение к первому UPDATE?
- Проблемы интеграции с третьими сторонами