タグ付けされた質問 「sqlalchemy」

SQLAlchemyは、アプリケーション開発者にSQLの完全な機能と柔軟性を提供するPython SQLツールキットおよびオブジェクトリレーショナルマッパーです。

6
SQLAlchemy降順で注文しますか?
descending次のようなSQLAlchemyクエリでORDER BYを使用するにはどうすればよいですか? このクエリは機能しますが、昇順に返します。 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。
424 python  sqlalchemy 

4
SQLAlchemy:flush()とcommit()の違いは何ですか?
違いは、間に何であるflush()とcommit()SQLAlchemyの中に? 私はドキュメントを読みましたが、賢明ではありません-彼らは私が持っていないことを事前に理解しているようです。 特にメモリ使用量への影響に興味があります。一連のファイル(合計約500万行)から一部のデータをデータベースに読み込んでいますが、セッションがときどきフォールオーバーします。これは、大規模なデータベースであり、メモリの少ないマシンです。 呼び出しが多すぎてcommit()足りないのでflush()はないかと思いますが、違いが何であるかを本当に理解していなければ、それを伝えるのは困難です。
422 python  sqlalchemy 


30
sqlalchemy行オブジェクトをPython dictに変換する
列名と値のペアを反復する簡単な方法はありますか? 私のsqlalchemyのバージョンは0.5.6です これは私がdict(row)を使用しようとしたサンプルコードですが、例外をスローしますTypeError: 'User'オブジェクトは反復可能ではありません import sqlalchemy from sqlalchemy import * from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker print "sqlalchemy version:",sqlalchemy.__version__ engine = create_engine('sqlite:///:memory:', echo=False) metadata = MetaData() users_table = Table('users', metadata, Column('id', Integer, primary_key=True), Column('name', String), ) metadata.create_all(engine) class User(declarative_base()): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = …
240 python  sqlalchemy 

6
SQLAlchemy IN句
私はsqlalchemyでこのクエリを実行しようとしています SELECT id, name FROM user WHERE id IN (123, 456) [123, 456]実行時にリストをバインドしたいと思います。
237 python  sqlalchemy 

8
Flask-SQLAlchemyアプリで生のSQLを実行する方法
SQLAlchemyで生のSQLをどのように実行しますか? 私はフラスコで実行され、SQLAlchemyを介してデータベースに接続するpython webアプリを持っています。 生のSQLを実行する方法が必要です。クエリには、インラインビューと共に複数のテーブル結合が含まれます。 私はもう試した: connection = db.session.connection() connection.execute( <sql here> ) しかし、ゲートウェイエラーが発生し続けます。

25
SqlAlchemyの結果をJSONにシリアル化する方法は?
Djangoには、DBからJSON形式に返されるORMモデルの優れた自動シリアル化機能があります。 SQLAlchemyクエリの結果をJSON形式にシリアル化する方法 私は試しましたjsonpickle.encodeが、それはクエリオブジェクト自体をエンコードします。試しましたjson.dumps(items)が、戻ってきました TypeError: <Product('3', 'some name', 'some desc')> is not JSON serializable SQLAlchemy ORMオブジェクトをJSON / XMLにシリアル化するのは本当に難しいですか?デフォルトのシリアライザはありませんか?今日、ORMクエリの結果をシリアル化することは非常に一般的なタスクです。 SQLAlchemyクエリ結果のJSONまたはXMLデータ表現を返すだけです。 JSON / XML形式のSQLAlchemyオブジェクトのクエリ結果は、javascript datagird(JQGrid http://www.trirand.com/blog/)で使用する必要があります
189 python  json  sqlalchemy 

4
SQLAlchemyでORを使用する
私はドキュメントを調べましたが、SQLAlchemyでORクエリを実行する方法を見つけることができないようです。このクエリを実行したいだけです。 SELECT address FROM addressbook WHERE city='boston' AND (lastname='bulger' OR firstname='whitey') のようなものでなければなりません addr = session.query(AddressBook).filter(City == "boston").filter(????)
189 python  sqlalchemy 

6
SQLAlchemyのデフォルトのDateTime
これは私の宣言的なモデルです: import datetime from sqlalchemy import Column, Integer, DateTime 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/models2.py", line 37, in <module> class Test(Base): File "orm/models2.py", …
174 python  date  sqlalchemy 

2
複数の列にわたって一意のsqlalchemy
場所を表すクラスがあるとします。ロケーションは顧客に「属している」。場所は、Unicode 10文字コードで識別されます。「ロケーションコード」は、特定の顧客のロケーション間で一意である必要があります。 The two below fields in combination should be unique customer_id = Column(Integer,ForeignKey('customers.customer_id') location_code = Column(Unicode(10)) したがって、顧客が2人いる場合、顧客「123」と顧客「456」です。どちらも「メイン」と呼ばれる場所を持つことができますが、どちらもメインと呼ばれる2つの場所を持つことはできません。 これはビジネスロジックで処理できますが、sqlalchemyに要件を簡単に追加する方法がないことを確認したいと思います。unique = Trueオプションは特定のフィールドに適用された場合にのみ機能するようで、テーブル全体がすべての場所に対して一意のコードのみを持つようになります。
174 python  sqlalchemy 

7
SQLAlchemy:実際のクエリを出力します
バインドパラメーターではなく、値を含め、アプリケーションで有効なSQLを出力できるようにしたいのですが、SQLAlchemyでこれを行う方法は明確ではありません(設計上、私はかなり確信しています)。 誰かがこの問題を一般的な方法で解決しましたか?
165 python  sqlalchemy 

8
SQLAlchemyにはDjangoのget_or_createに相当するものがありますか?
(提供されたパラメーターに基づいて)既に存在する場合はデータベースからオブジェクトを取得するか、存在しない場合は作成します。 Django get_or_create(またはsource)がこれを行います。SQLAlchemyに同等のショートカットはありますか? 私は現在、このように明示的に書いています: def get_or_create_instrument(session, serial_number): instrument = session.query(Instrument).filter_by(serial_number=serial_number).first() if instrument: return instrument else: instrument = Instrument(serial_number) session.add(instrument) return instrument

8
奇妙なSQLAlchemyエラーメッセージ:TypeError: 'dict'オブジェクトはインデックス作成をサポートしていません
私はSqlAlchemyを使用して、手作りのSQLを使用してPGデータベースからデータをフェッチしています。SQLのような演算子 '%'を含むクエリを試行していますが、ループを介してSqlAlcjhemyをスローするようです。 sql = """ SELECT DISTINCT u.name from user u INNER JOIN city c ON u.city_id = c.id WHERE c.designation=upper('fantasy') AND c.id IN (select id from ref_geog where short_name LIKE '%opt') """ # The last line in the above statement throws the error mentioned in the title. # However …

5
SQLAlchemyの行エントリを更新する方法は?
テーブルに3つの列usernameがあるpasswordとしno_of_loginsます。 ユーザーがログインしようとすると、次のようなクエリでエントリがチェックされます user = User.query.filter_by(username=form.username.data).first() パスワードが一致する場合、彼はさらに先へ進みます。私がやりたいのは、ユーザーがログインした回数を数えることです。したがって、彼が正常にログインしたときはいつでも、no_of_loginsフィールドをインクリメントしてユーザーテーブルに戻したいと思います。SqlAlchemyで更新クエリを実行する方法がわかりません。

3
SQLALCHEMY_TRACK_MODIFICATIONSを無効にできるかどうかはどうすればわかりますか?
Flask-SQLAlchemyを使用するアプリを実行するたびに、SQLALCHEMY_TRACK_MODIFICATIONSオプションが無効になるという次の警告が表示されます。 /home/david/.virtualenvs/flask-sqlalchemy/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py:800: UserWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning. warnings.warn('SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning.') 私はこのオプションが何をするのかを見つけようとしましたが、Flask-SQLAlchemyのドキュメントは、このトラッキングを何が使用するかについて明確ではありません。 SQLALCHEMY_TRACK_MODIFICATIONS True(デフォルト)に設定すると、Flask-SQLAlchemyはオブジェクトの変更を追跡し、シグナルを発行します。これには追加のメモリが必要であり、不要な場合は無効にできます。 プロジェクトが必要SQLALCHEMY_TRACK_MODIFICATIONS = …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.