Tag: sqlalchemy

sqlalchemy raw sql limit с использованием connection.execute ()

Этот код python должен запускать операторы в базе данных, но операторы sql не выполняются: from sqlalchemy import * sql_file = open("test.sql","r") sql_query = sql_file.read() sql_file.close() engine = create_engine( 'postgresql+psycopg2://user:password@localhost/test', echo=False) conn = engine.connect() print sql_query result = conn.execute(sql_query) conn.close() Файл test.sql содержит инструкции SQL, которые создают 89 таблиц. Таблицы не создаются, если я укажу 89 […]

sqlalchemy FULL OUTER JOIN

Как реализовать FULL OUTER JOIN в sqlalchemy на уровне orm. Вот мой код: q1 = (db.session.query( tb1.user_id.label('u_id'), func.count(tb1.id).label('tb1_c') ) .group_by(tb1.user_id) ) q2 = (db.session.query( tb2.user_id.label('u_id'), func.count(tb2.id).label('tb2_c') ) .group_by(tb2.user_id) ) выше двух запросов, и я хочу применить к ним FULL OUTER JOIN.

Ядро SQLAlchemy: порядок по убыванию

Каков правильный способ выполнения оператора select с помощью ORDER BY foo DESC в ядре SQLAlchemy? ( ядро, а не ORM! ) В настоящее время я вхожу прямо в order_by : mytable.select(order_by='name DESC') … он работает (хотя мне это не нравится, поскольку он немного «хакерский»), но SQLAlchemy дает мне следующее предупреждение: SAWarning: не удается разрешить ссылку […]

Ошибка для AttributeError: объект «KeyedTuple» не имеет атрибута «json»

Я новичок в Python и изучаю SQLAlchemy. Вот мой код class Test(Base): __tablename__ = 'test' __public__ = ('my_id', 'name') my_id = Column(Integer, primary_key=True) name = Column(String) def __init__(self, id, name): self.my_id = id self.name = name def __repr__(self): return "<User('%d','%s')>" % (self.id, self.name) @property def json(self): return to_json(self, self.__class__) users= cess.query(Test.my_id, Test.name).order_by(Test.my_id).distinct().all() for c in […]

SQLAlchemy выбирает со всеми многими объектами отношений как список

Учитывая это отношение многих к многим: tagmap = db.Table('tagmap', db.Model.metadata, db.Column('post_id', db.Integer, db.ForeignKey('posts.id'), db.Column('tag_id', db.Integer, db.ForeignKey('tags.id'),) class Post(db.Model): __tablename__ = 'posts' id = db.Column(db.Integer, primary_key=True) text = db.Column(db.Text) tags = db.relationship('Tag', secondary=tagmap, backref='posts') class Tag(db.Model): __tablename__ = 'tags' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String) Как бы вы построили запрос для выбора всех сообщений, включая […]

Заказ Sqlalchemy по вычисленному столбцу

Я пытаюсь создать запрос выбора с использованием sqlalchemy, но мне нужно отсортировать результаты по вычисленному значению, и я не уверен, как это сделать. В принципе, у меня есть столбцы «start_time» и «end_time», и я хочу заказать результаты на основе start_time, а затем end_time, но если end_time <start_time, я хочу добавить к нему 86400000: end_time + […]

Могу ли я проверить объект запроса sqlalchemy, чтобы найти уже присоединившиеся таблицы?

Я пытаюсь программно построить поисковый запрос, и для этого я присоединяюсь к таблице. class User(db.Model): id = db.Column(db.Integer(), primary_key=True) class Tag(db.Model): id = db.Column(db.Integer(), primary_key=True) user_id = db.Column(db.Integer(), db.ForeignKey('user.id')) title = db.Column(db.String(128)) description = db.Column(db.String(128)) Это немного надуманный пример – я надеюсь, что это имеет смысл. Скажем, моя функция поиска выглядит примерно так: def search(title_arg, […]

Как фильтровать согласованные столбцы с помощью LIKE с помощью SQLAlchemy?

У меня есть таблица пользователей с first_name и last_name . Я пытаюсь создать запрос SQLAlchemy, который будет выполнять подобное на конкатенации двух столбцов, полное имя IE. Вот пример first_name: Bob last_name: Smith query = "bob smi" Я ищу запрос: session.query(Person).filter((Person.firstName + " " + Person.lastName).like(query+'%') Так что поиск bob smi вернет bob smith Благодаря!

Выбор Null в SQLAlchemy

Я хочу сделать эквивалент SELECT * FROM (SELECT foo, bar FROM baz JOIN quux ON baz.id = quux.id UNION SELECT foo, NULL AS bar FROM baz) GROUP BY (foo, bar) HAVING foo = 'John Doe'; используя sqlalchemy 0.6, но я, похоже, не могу пропустить этот NULL . Это примерно то, что у меня есть до […]

Тестирование базы данных в python, postgresql

Как вы можете протестировать свой DAL Python, который использует postgresql. В sqlite вы можете создать базу данных в памяти для каждого теста, но это невозможно сделать для postgresql. Мне нужна библиотека, которая может быть использована для настройки базы данных и очистки ее после завершения теста. Я использую Sqlalchemy как свой ORM.

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