Tag: sqlalchemy

AttributeError при запросе: ни объект InstrumentedAttribute, ни 'Comparator' не имеют атрибута

Следующий код: Base = declarative_base() engine = create_engine(r"sqlite:///" + r"d:\foo.db", listeners=[ForeignKeysListener()]) Session = sessionmaker(bind = engine) ses = Session() class Foo(Base): __tablename__ = "foo" id = Column(Integer, primary_key=True) name = Column(String, unique = True) class Bar(Base): __tablename__ = "bar" id = Column(Integer, primary_key = True) foo_id = Column(Integer, ForeignKey("foo.id")) foo = relationship("Foo") class FooBar(Base): __tablename__ […]

Подключение postgresql с sqlalchemy

Я знаю, что это может быть очень простой вопрос, но я не знаю решения. Что происходит здесь, когда я пытаюсь подключиться к postgresql? Я сам участвую в этой области базы данных и программирования, поэтому, пожалуйста, будьте осторожны со мной. Когда я пытаюсь выполнить код: import sqlalchemy db = sqlalchemy.create_engine('postgresql:///tutorial.db') Я получаю эту ошибку: Traceback (последний […]

Как использовать avg и sum в запросе SQLAlchemy

Я пытаюсь вернуть строку итогов / средних из моего набора данных, который содержит СУММ определенных полей и AVG других. Я мог бы сделать это в SQL через: SELECT SUM(field1) as SumFld, AVG(field2) as AvgFld FROM Rating WHERE url=[url_string] Моя попытка перевести это в SQLAlchemy выглядит следующим образом: totals = Rating.query(func.avg(Rating.field2)).filter(Rating.url==url_string.netloc) Но это ошибочно: TypeError: 'BaseQuery' […]

Применение LIMIT и OFFSET ко всем запросам в SQLAlchemy

Я разрабатываю API с SQLAlchemy (запрос MySQL), и я хотел бы заставить все мои запросы иметь параметры page_size (LIMIT) и page_number (OFFSET). Есть ли чистый способ сделать это с помощью SQLAlchemy? Возможно, создав какую-нибудь фабрику для создания пользовательского объекта Query? Или, может быть, есть хороший способ сделать это со классом mixin? Я попытался сделать очевидную […]

ImportError: нет модуля с именем sqlalchemy

Я не могу найти модуль на python, хотя easy_install говорит, что он уже установлен. Любая идея, как разрешить это isseue? $ python -c "from flaskext.sqlalchemy import SQLAlchemy" Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named sqlalchemy $ python -V Python 2.7 $ sudo easy_install sqlalchemy Searching for sqlalchemy […]

SQLAlchemy запутан?

Это может показаться довольно спорным, но я просто прошел учебник ORM SQLAlchemy и получил следующий код: from sqlalchemy import create_engine from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker engine = create_engine('sqlite:///:memory:', echo=True) metadata = MetaData() users_table = Table('users', metadata, Column('id', Integer, primary_key=True), Column('name', String), Column('fullname', String), […]

sqlalchemy: выполнение raw sql с привязками параметров

Я пытаюсь запустить этот простой raw sql-оператор с параметрами с SQLALchemy (внутри скрипта alembic): from alembic import op t = {"code": "123", "description": "one two three"} op.execute("insert into field_tags (id, field_id, code, description) "+ "values (1,'zasz', :code ,:description')", t) И я получаю следующую ошибку: sqlalchemy.exc.StatementError: A value is required for bind parameter 'description' (original cause: […]

Как получить последнюю запись

Мне нужно получить последнюю запись из db. Я использую sqlalchemy. На данный момент я делаю так: obj = ObjectRes.query.all() return str(obj[-1].id) Но это слишком тяжелый запрос. Как я могу получить последнюю запись лучше?

sqlalchemy, превращая список идентификаторов в список объектов

У меня есть последовательность идентификаторов, которые я хочу получить. Это просто: session.query(Record).filter(Record.id.in_(seq)).all() Есть ли лучший способ сделать это?

коллоидная sqlalchemy, запрашивающая столбец, не равный

Я могу запросить местный стол для всех мест, где нет приглашенных: seats = Seat.query.filter_by(invite=None).all() Однако при запросе всех мест, у которых есть приглашение, я получаю ошибку: seats = Seat.query.filter_by(invite!=None).all() NameError: name 'invite' is not defined Вот мой класс Seat: class Seat(db.Model): id = db.Column(db.Integer, primary_key=True) invite_id = db.Column(db.Integer, db.ForeignKey('invite.id')) invite = db.relationship('Invite', backref=db.backref('folks', lazy='dynamic')) Как […]

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