Часто задаваемые вопросы¶
Раздел «Часто задаваемые вопросы» представляет собой растущую коллекцию часто встречающихся вопросов на известные темы.
- Установка
- Соединения / Двигатели
- Как настроить ведение журнала?
- Как объединить подключения к базе данных? Объединены ли мои соединения в пул?
- Как передать пользовательские аргументы подключения в API моей базы данных?
- «Сервер MySQL исчез»
- «Команды рассинхронизированы; вы не можете выполнить эту команду сейчас» / «Этот объект результата не возвращает строки. Он был закрыт автоматически»
- Как автоматически «повторить» выполнение заявления?
- Почему SQLAlchemy выдает так много ROLLBACK?
- Я использую несколько соединений с базой данных SQLite (обычно для проверки работы транзакций), и моя тестовая программа не работает!
- Как получить необработанное соединение DBAPI при использовании Engine?
- Как использовать движки / соединения / сессии с многопроцессорной обработкой Python или os.fork()?
- Метаданные / Схема
- Моя программа зависает, когда я говорю
table.drop()
/metadata.drop_all()
. - Поддерживает ли SQLAlchemy функции ALTER TABLE, CREATE VIEW, CREATE TRIGGER, обновление схемы?
- Как отсортировать объекты таблицы в порядке их зависимости?
- Как я могу получить вывод CREATE TABLE/ DROP TABLE в виде строки?
- Как я могу подклассифицировать таблицу/столбец для обеспечения определенного поведения/конфигурации?
- Моя программа зависает, когда я говорю
- Выражения 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 с id #7? - Как пройтись по всем объектам, связанным с данным объектом?
- Есть ли способ автоматически иметь только уникальные ключевые слова (или другие виды объектов) без выполнения запроса на ключевое слово и получения ссылки на строку, содержащую это ключевое слово?
- Почему post_update выдает UPDATE в дополнение к первому UPDATE?
- Проблемы интеграции со сторонними организациями