Tag: sqlalchemy

Как загрузить данные в существующие таблицы базы данных, используя sqlalchemy?

У меня мои данные загружены из файлов excel и организованы как python dict, где каждый ключ является именем таблицы базы данных, а его значение определяется как список словарей (строк) system_data = {table_name1:[{'col_1':val1, 'col2': val1…}, {'col_1':val2, 'col2': val2..}..], table_name2:[{},{}..],[{},{}..]..} Эти данные должны быть загружены в существующую базу данных при выборе ключей и значений table_names из system_data […]

SQLAlchemy иногда ошибочно возвращает пустой результат

SQLAlchemy v1.0.6 cx_Oracle v5.2 Некоторое время у нас возникла проблема с нашим производственным кодом и, наконец, сузилась до данных, возвращающихся из SQLAlchemy. Выполнение одного и того же запроса несколько раз иногда возвращает пустой результат. В некоторых условиях мы можем заставить его возвращать пустой результат каждый раз, когда выполняется код. Это несмотря на то, что данные […]

SQLAlchemy: проверка размера столбца дает нечетный результат

Можно ли запросить столбец для максимально возможного размера данных (в байтах), которые могут быть сохранены в нем? Например, скажем, я объявляю столбец, используя content = Column(LargeBinary) то как я могу запросить информацию о content ? Следуя подходу к проверке, предложенному в этом вопросе: table = File.__table__ field = table.c["content"] print("max=" + field.type.length) Я получаю max=None […]

Предотвратите касание db во время модульного тестирования с помощью SQLAlchemy

Я уже несколько лет использую Django, но недавно решил попробовать Flask для нового API. Благодаря отличной презентации Carl Meyers по тестированию Django в PyCon, я использовал следующую технику, чтобы не дотрагиваться до базы данных в модульных тестах Django: cursor_wrapper = Mock() cursor_wrapper.side_effect = RuntimeError("No touching the database!") @patch('django.db.backends.util.CursorWrapper', cursor_wrapper) class TestPurchaseModel(TestCase): '''Purchase model test suite''' […]

Почему SQLAlchemy / mysql не учитывает меня?

У меня есть 2 функции, которые нужно выполнить, и первая занимает около 4 часов. Оба используют SQLAlchemy: def first(): session = DBSession rows = session.query(Mytable).order_by(Mytable.col1.desc())[:150] for i,row in enumerate(rows): time.sleep(100) print i, row.accession def second(): print "going onto second function" session = DBSession new_row = session.query(Anothertable).order_by(Anothertable.col1.desc()).first() print 'New Row: ', new_row.accession first() second() И вот […]

как выбрать только некоторые столбцы в SQLAlchemy?

Это мой код на Python: cx=sqlalchemy.create_engine(u"mysql://username:password@ipaddress/database?charset=utf8") metadata=sqlalchemy.MetaData(cx) orm_obj=sqlalchemy.Table(u'I_POI',metadata,autoload=True) sql=orm_obj.select(u'poi_id,poi_name').where(u'poi_id>1 and poi_id>0').limit(3).offset(0) resultz=sql.execute() for i in resultz: print i [DB] Таблица I_POI: poi_id, poi_name, poi_data1, poi_data2 …… poi_data10 Я делаю это с существующей базой данных, но «select ()» не работает. Он все равно возвращает полные столбцы. Я хочу получить только несколько столбцов, пожалуйста, помогите мне.

Как использовать SQLAlchemy для выбора значения в позиции в массиве PostgreSQL?

Для вложенной системы комментариев я сохраняю древовидную структуру в таблице PostgreSQL, используя следующее определение в модели Comment : path = sa.Column(ARRAY(sa.Integer)) Здесь хранятся все идентификаторы комментариев в пути к текущему. Так что если комментарий с id из 15 является дочерним по 11 и 13, то его путь будет [11,13,15] . Теперь я хочу найти и […]

Как запросить несколько таблиц в SQLAlchemy ORM

Я новичок в ORM SQLAlchemy, и я изо всех сил пытаюсь выполнить сложные запросы на нескольких таблицах – запросы, которые я считаю относительно простыми в Doctrine DQL. У меня есть объекты данных городов, которые принадлежат странам. Некоторые города также имеют идентификационный номер округа, но не все. Как и необходимые первичные и внешние ключи, каждая запись […]

Подключитесь к mssql из sqlalchemy by pyodbc на mac os

Кто-нибудь успешно подключился к mssql через pyodbc в sqlalchemy? Я использую turbogears2 прямо сейчас и пытаюсь подключиться к mssql, работая на платформе mac os. Получение следующей ошибки: sqlalchemy.exc.DBAPIError: (Error) ('00000', '[00000] [iODBC][Driver Manager]dlopen({SQL Server}, 6): image not found (0) (SQLDriverConnectW)') None None

Как я могу запрашивать строки с уникальными значениями в объединенном столбце?

Я пытаюсь, чтобы мой подзапрос domain_query удалял dupe Place.id, но он не удаляет его. Это код ниже. Я пробовал использовать разные, но не соблюдал правило order_by. SimilarPost = aliased(Post) SimilarPostOption = aliased(PostOption) popular_query = (db.session.query(Post, func.count(SimilarPost.id)). join(Place, Place.id == Post.place_id). join(PostOption, PostOption.post_id == Post.id). outerjoin(SimilarPostOption, PostOption.val == SimilarPostOption.val). join(SimilarPost,SimilarPost.id == SimilarPostOption.post_id). filter(Place.id == Post.place_id). filter(self.radius_cond()). […]

Python - лучший язык программирования в мире.