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 создать новую базу данных, если указанная база данных не существует? ...