sqlalchemy- все статьи тега


cdecimal и SQLAlchemy на самом деле хранит десятичные числа.Десятичное число?

Мое приложение django + SQLAlchemy использует cdecimal вместо десятичного модуля по умолчанию. Я следовал инструкциям на веб-сайте SQLAlchemy: import sys import cdecimal sys.modules["decimal"] = cdecimal Используя то же самое из предыдущего потока stackoverflow , я могу добавить данные в БД. Однако, когда я извлекаю запись из своей таблицы и смотрю на ее значение, тип возвращаемого мне значения на самом деле decimal.Decimal, а не cdecimal.Decimal. Как мне сказать SQLAlchemy, чтобы он вер ...

ограничение столбца flask sqlalchemy для положительного целого числа

Как я могу определить столбец как положительное целое число с помощью flask sqlalchemy? Я надеюсь, что ответ будет выглядеть примерно так: class City(db.Model): id = db.Column(db.Integer, primary_key=True) population = db.Column(db.Integer, positive=True) def __init__(self,population): self.population = population Однако это определение класса вызовет ошибку b/c sqlalchemy не знает о "положительном" аргументе. Я мог бы вызвать исключение, если объект создается с отрицат ...

Расчет расстояния SqlAlchemy / Sqlite

Я использую sqlAlchemy ORM и хотел бы вычислить и вернуть расстояние от заданной точки и сохраненных точек. class Event(Base): __tablename__ = 'events' # Schema id = Column(Integer, primary_key=True) title = Column(String(150)) description = Column(Text) url = Column(String(800)) lat = Column(Float) lng = Column(Float) ....и мой вопрос: nearest = """SELECT *, ((lat - '-41.288889') * (lat - '-41.288889') + (lng - 174.777222) * (lng - 174.777222)) AS d ...

Универсальный текстовый/тип данных CLOB для кросс-базы данных приложения с SQLAlchemy

Я работаю над веб-приложением Python, которое использует MySQL в качестве бэкенда базы данных в среде разработки и Oracle 11g в производственной среде. Существует ли конкретный способ унифицировать текстовые поля SQLAlchemy, чтобы они работали как на MySQL, так и на Oracle database? Для бэкенда Oracle в моделях я использую sqlalchemy.CLOB и для MySQL sqlalchemy.TEXT. ...

Обновить случайную строку в БД с помощью Flask-Sqlalchemy

Я пытался обновить случайно выбранную строку в моей базе данных Sqlite с помощью Flask и Flask-Sqlalchemy. У меня есть всего несколько строк в базе данных со столбцами "word", "yes" и "no", где word-это строка, а yes и no-целые числа. На панели "голосовать" есть две кнопки: да и нет. Когда кнопка нажата, соответствующий код выполняется, должен увеличить столбец да или нет, и представление обновляется новым случайным словом из таблицы слов. @app.route("/vote", methods=["GET", "POST"]) def vote( ...

Создание динамической формы с помощью flask-wtf и sqlalchemy

У меня есть веб-приложение, которое позволяет пользователям создавать свои собственные поля для последующего отображения в форме. У меня есть модель Formfield, такая как: class Formfield(db.Model): id = db.Column(db.Integer, primary_key = True) form_id = db.Column(db.Integer, db.ForeignKey('formbooking.id')) label = db.Column(db.String(80)) placeholder_text = db.Column(db.String(80)) help_text = db.Column(db.String(500)) box_checked = db.Column(db.Boolean, nullable = T ...

SQLAlchemy-копирование схемы и данных подзапроса в другую базу данных

Я пытаюсь скопировать данные из подзапроса из postgres (from_engine) в базу данных sqlite. Я могу добиться этого для копирования таблицы, используя следующую команду: smeta = MetaData(bind=from_engine) table = Table(table_name, smeta, autoload=True) table.metadata.create_all(to_engine) Однако я не уверен, как добиться того же для оператора подзапроса. - Сандип Править: Следите за ответом. После того, как я создал таблицу, я хочу создать подзапрос stmt следующим образом: table = Table ...

Как закрыть сеанс SQLAlchemy?

Следуя тому, что мы прокомментировали в Как закрыть соединение sqlalchemy в MySQL, я проверяю соединения, которые SQLAlchemy создает в моей базе данных, и мне не удается закрыть их без выхода из Python. Если я запускаю этот код в консоли python, он сохраняет сеанс открытым до тех пор, пока я не выйду из python: from sqlalchemy.orm import sessionmaker from models import OneTable, get_engine engine = get_engine(database="mydb") session = sessionmaker(bind=engine)() results = session.query(On ...

Не удается сопоставить внешний ключ из-за двойных первичных ключей

Я пытаюсь создавать таблицы на лету из существующих данных...однако в таблице, которая мне нужна, есть два первичных ключа. Я не могу найти, Как удовлетворить ограничения. Я начинаю со следующих двух таблиц... self.DDB_PAT_BASE = Table('DDB_PAT_BASE', METADATA, Column('PATID', INTEGER(), primary_key=True), Column('PATDB', INTEGER(), primary_key=True), Column('FAMILYID', INTEGER()), ) self.DDB_ERX_MEDICATION_BASE = Table('DDB_ERX_MEDICATION_BASE', METADATA, Column('ErxID', I ...

Есть ли причина, по которой учебник SQLAlchemy ORM ставит угловые скобки вокруг своих значений repr?

Учебник SQLAlchemy ORM использует этот класс: >>> from sqlalchemy import Column, Integer, String >>> class User(Base): ... __tablename__ = 'users' ... ... id = Column(Integer, primary_key=True) ... name = Column(String) ... fullname = Column(String) ... password = Column(String) ... ... def __init__(self, name, fullname, password): ... self.name = name ... self.fullname = fullname ... self.password = password ... ... def __r ...

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

как я могу использовать ORDER BY descending в запросе SQLAlchemy, как показано ниже? этот запрос работает, но возвращает их в порядке возрастания: query = (model.Session.query(model.Entry) .join(model.ClassificationItem) .join(model.EnumerationValue) .filter_by(id=c.row.id) .order_by(model.Entry.amount) # This row :) ) если я попробую: .order_by(desc(model.Entry.amount)) затем я получаю: NameError: global name 'desc' is not defined. ...

В чем разница между filter и filter by в SQLAlchemy?

может ли кто-нибудь объяснить разницу между filter и filter_by функции в SQLAlchemy? Я в замешательстве и не вижу разницы. Какой из них я должен использовать? ...

Использование или в SQLAlchemy

Я посмотрел по документам и я не могу, кажется, узнать, как сделать запрос или в SQLAlchemy. Я просто хочу сделать этот запрос. SELECT address FROM addressbook WHERE city='boston' AND (lastname='bulger' OR firstname='whitey') должно быть что-то вроде addr = session.query(AddressBook).filter(City == "boston").filter(????) ...

Как сериализовать результат SqlAlchemy в JSON?

У Django есть хорошая автоматическая сериализация моделей ORM, возвращенных из DB в формат JSON. как сериализовать результат запроса SQLAlchemy в формат JSON? пробовал jsonpickle.encode но он кодирует сам объект запроса. Я пытался json.dumps(items) но он возвращает TypeError: <Product('3', 'some name', 'some desc')> is not JSON serializable действительно ли так сложно сериализовать объекты SQLAlchemy ORM в JSON / XML? Нет ли для него сериализатора по умолчанию? Это очень распростране ...

SQLAlchemy: печать фактического запроса

Я действительно хотел бы иметь возможность распечатать допустимый SQL для моего приложения, включая значения, а не параметры привязки, но не очевидно, как это сделать в SQLAlchemy (по дизайну, я довольно уверен). кто-нибудь решил эту проблему в целом? ...

SQLAlchemy по умолчанию DateTime

Это моя декларативная модель: import datetime from sqlalchemy import Column, Integer from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class Test(Base): __tablename__ = 'test' id = Column(Integer, primary_key=True) created_date = DateTime(default=datetime.datetime.utcnow) однако, когда я пытаюсь импортировать этот модуль, я получаю эту ошибку: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "orm/models ...

Как обновить запись строки SQLAlchemy?

предположим, что таблица имеет три столбца:username,password и no_of_logins. когда пользователь пытается войти в систему, он проверяется для записи с запросом, как user=User.query.filter_by(username=form.username.data).first() если пароль совпадает, он продолжается дальше. То, что я хотел бы сделать, это подсчитать, сколько раз пользователь вошел в систему. Таким образом, всякий раз, когда он успешно входит в систему, я хотел бы увеличить no_of_logins поле и сохранить его обратно в таблицу п ...

SQLAlchemy flush () и получить вставленный идентификатор?

Я хочу сделать что-то вроде этого: f = Foo(bar='x') session.add(f) session.flush() # do additional queries using f.id before commit() print f.id # should be not None session.commit() но f.id нет, когда я пытаюсь это сделать. Как я могу заставить это работать? - Dan ...

Как получить необработанный скомпилированный SQL-запрос из выражения SQLAlchemy?

у меня есть объект запроса SQLAlchemy и я хочу получить текст скомпилированного оператора SQL со всеми его параметрами (например, no %s или другие переменные, ожидающие привязки компилятором операторов или mysqldb dialect engine и т. д.). вызов str() на запрос показывает что-то вроде этого: SELECT id WHERE date_added <= %s AND date_added >= %s ORDER BY count DESC Я пробовал искать в запросе._params но это пустой словарь. Я написал свой собственный компилятор с помощью этот пример sqla ...

Как создать новую базу данных с помощью SQLAlchemy?

С помощью SQLAlchemy движок создается следующим образом: from sqlalchemy import create_engine engine = create_engine("postgresql://localhost/mydb") ссылке engine сбой, если база данных отсутствует. Можно ли сказать SQLAlchemy создать новую базу данных, если указанная база данных не существует? ...