Tag: sqlalchemy

sqlalchemy, выберите с помощью обратного включения (не в) список значений дочернего столбца

У меня есть типичная связь Post / Tags (много тегов, связанных с одним сообщением) в flask-sqlalchemy, и я хочу выбирать сообщения, которые не помечены каким-либо тегом в списке, который я предоставляю. Во-первых, модели, которые я создал: class Post(db.Model): id = db.Column(db.Integer, primary_key=True) tags = db.relationship('Tag', lazy='dynamic') class Tag(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.Text(50)) […]

Могут ли Аламбик автогенерировать изменения колонны?

Я мог использовать alembic –autogenerate для добавления / удаления столбцов. Однако, когда я хотел изменить, например, столбец «url» от 200 символов до 2000 символов, он не обнаруживает изменения. Как я могу сделать Alembic (используя SQLAlchemy), обнаруживать изменения и сценарии автогенерации для «размеров» разных моделей разных столбцов и создавать команды «alter_column» для PostgreSQL? Редактировать: Почему автоматически […]

Как создать db mysql с sqlalchemy

Мне нужно создать db в mysql, используя sqlalchemy, я могу подключиться к db, если он уже существует, но я хочу иметь возможность создать его, если он не существует. это мои таблицы: #def __init__(self): Base = declarative_base() class utente(Base): __tablename__="utente" utente_id=Column(Integer,primary_key=True) nome_utente=Column(Unicode(20)) ruolo=Column(String(10)) MetaData.create_all() def __repr(self): return "utente: {0}, {1}, id: {2}".format(self.ruolo,self.nome_utente,self.utente_id) class dbmmas(Base): __tablename__="dbmmas" db_id=Column(Integer,primary_key=True,autoincrement=True) […]

Циркулярный импорт модели SQLAlchemy

У меня две модели в том же модуле, что и models . Они являются отношениями 1-1 и настроены для документов SQLAlchemy . Vehicle.py from models.AssetSetting import AssetSetting class Vehicle(Base): __tablename__ = 'vehicles' vehicle_id = Column(Integer, primary_key=True) … settings = relationship('AssetSetting', backref=backref('asset_settings')) AssetSetting.py from models.Vehicle import Vehicle class AssetSetting(Base): __tablename__ = 'asset_settings' asset_alert_setting_id = Column(Integer, primary_key=True, […]

Регулярные выражения в запросах SQLalchemy?

Можно ли использовать регулярное выражение так же, как session.query(MyObject).filter_by(REGEX) ? Если нет, как я могу использовать sqlAlchemy для извлечения записей, которые имеют varchar PK, начинающиеся с определенного значения (например, все те, чье поле города начинается с «SA»)? Благодарю.

Сохранять порядок списка в разбивке по страницам в sql

У меня есть список с порядком вставки. Я хочу разбивать страницы по одному и тому же порядку. Как вы можете видеть, в настоящее время выход будет отличаться от порядка. following_companies_list_data = Company.query.filter(Company.id.in_(['2', '24', '1', '7', '373'])).paginate( page, per_page=10, error_out=False) companies = following_companies_list_data.items for i in companies: print i.id 7 24 373 2 1 связанный вопрос

Обратный кадр данных Pandas из запроса PostgreSQL с sqlalchemy

Я хочу запросить базу данных PostgreSQL и вернуть результат в виде кадра данных Pandas. Я использую sqlalchemy для создания соединения с базой данных: from sqlalchemy import create_engine engine = create_engine('postgresql://user@localhost:5432/mydb') Я пишу файл данных Pandas в таблицу базы данных: i=pd.read_csv(path) i.to_sql('Stat_Table',engine,if_exists='replace') Основываясь на документах , выглядит так: pd.read_sql_query () должен принять механизм SQLAlchemy: a=pd.read_sql_query('select * […]

sqlalchemy flask: AttributeError: объект «Session» не имеет атрибута «_model_changes» на session.commit ()

Я видел много проблем с SessionMaker, но это немного отличается. Не уверен, почему, но sqlalchemy не позволит моему объекту сеанса совершить. В моем приложении у меня есть код, который делает: views.py rec = session.query(Records).filter(Records.id==r).first() n = rec.checkoutRecord(current_user.id) session.add(n) session.commit() models.py: class Records(UserMixin, CRUDMixin, Base): __table__ = Table('main_records', Base.metadata, autoload=True) def checkoutRecord(self,uid): self.editing_uid = uid self.date_out […]

Запрос фильтра SQLAlchemy связанным объектом

Используя SQLAlchemy , у меня есть отношение «один к большому» с двумя таблицами – пользователями и оценками. Я пытаюсь запросить 10 лучших пользователей, отсортированных по их суммарному баллу за прошлые X дней. users: id user_name score scores: user score_amount created Мой текущий запрос: top_users = DBSession.query(User).options(eagerload('scores')).filter_by(User.scores.created > somedate).order_by(func.sum(User.scores).desc()).all() Я знаю, что это явно не правильно, […]

scoped_session (session_maker ()) или plain session_maker () в sqlalchemy?

Я использую SQlAlchemy в своем веб-проекте. Что я должен использовать scoped_session (session_maker ()) или простой session_maker () и почему?. Или я должен использовать что-то еще? ## model.py from sqlalchemy import * from sqlalchemy.orm import * engine = create_engine('mysql://dbUser:dbPassword@dbServer:dbPort/dbName', pool_recycle=3600, echo=False) metadata = MetaData(engine) Session = scoped_session(sessionmaker()) Session.configure(bind=engine) user = Table('user', metadata, autoload=True) class User(object): pass […]

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