PythonでSQLite用に使用できる軽量データベースラッパーはありますか?私はDjangoのORMのようなものが欲しいですが、私はデータベースファイルを指し示すだけで、私にとって必要なAPIを作成します(つまりすべてのCRUDを処理します)。SQLite用Python軽量データベースラッパー
答えて
うん、SQLAlchemyのは素晴らしいですが、他のオプションもあります。それらの1つはPeeweeです。 非常に軽量で、探しているものに完全に合うかもしれません。
あなたが探しているものが、SQLAlchemyかもしれません。
それほど恐ろしいほど複雑ではないものはありますか? – Puzzled79
その最も古くて丈夫ですが、開発者にとって親しみやすく、最高のものではないようです。 Peeweeと比較して必要な難しいdeverlopmentスキルはまだありません。 –
SQLALchemy - おそらく最もよく知られ、使用されています。 – jsbueno
合意。しかしSimon7は既にAlexからの提案を却下した。 – philofinfinitejest
間違いなくpeewee。私はsqlalchemyを試しましたが、それは混乱しており、魔法はありません。
他のORMは、SQLobject、Elixir(sqlalchemy上のレイヤ)、PonyORMのように、もはや開発されていないか、あまり良くありません。 Peeweeはこれまでパイソンコミュニティで見たことの中で最高のもので、ルビーやPHPのメインORMに近いです。
ピーウィーも、それ以外の場合は、それを作成し、それが存在する場合は自動的にDBから「フーバー」という名前の人を取る、この一握りのショートカット
Person.get_or_create(name='Foo', surname='Bar')
のように、多くの宝石を持っています。
正しい、シンプルでより良いフレームワーク –
SQLAlchemyを使って1年間働いた後、私はそれが現時点で最も良く開発されたフレームワークだと言えるでしょう。SQLを使用しなければならないときは、他のフレームワークは考慮しません。 – Alessio
チェックアウトはRabaDBです。間違いなく最も単純なインターフェースの1つがそこにあります。
class Human(R.Raba) :
_raba_namespace = 'test_namespace'
#Everything that is not a raba object is primitive
name = rf.Primitive()
age = rf.Primitive()
city = rf.Primitive()
#Only Cars can fit into this relation
cars = rf.Relation('Car')
#best friend can only be a human
bestFriend = rf.RabaObject('Human')
少しのメモリ消費量を有するように最適化され、それは、例によって継承をクエリをサポート、ツールをデバッグしているとも、必要な場合は、SQLにフォールバックすることができます。
あまり詳しく書かれていないが、複雑さについてのデモも明確ではない。 –
まあ私は同意しません。 githubのreadmeには、あなたが知っておく必要があるすべてのものが含まれています。デバッグ、トランザクション、さらには継承まで。複雑さとパフォーマンスに関心があるなら、SQLiteのバージョンに大きく依存しています。しかしここでは何も秘密にしていません。 conn.enableQueryPrint(True)(readme参照)でSQLクエリを簡単に印刷できます。スキーマを見たい場合は、.dbファイルを任意のSQLiteクライアントで開くことができます。また、SQLiteの説明を使用して、SQLiteのバージョンに応じてパフォーマンスをよりよく見ることができます。 – tariqdaouda
あなたの少しの知識にあなたの意見が不一致で、文書をいかにうまく維持するかを見てください。 https://github.com/coleifer/peeweeとhttp://docs.peewee-orm.com/en/latest/を参照し、十分に文書化されているとは言えないサンプルをいくつか追加します。あなたはその文書をconisderかもしれませんが、完全な文書のわずか2%です。今日は誰もフォークや高評価のRabaDbライブラリを見ることはできません。しかしRabaDBはまだ利用率が低い。 –
これは非常にシンプルでクールなpythonオブジェクト指向のormレイヤーです。
- 1. SQLiteの軽量ORM
- 2. Python用軽量DBAL
- 3. 軽量コンソール/ Python用IDE?
- 4. Pythonの軽量ユニットテスト
- 5. 目的のCオブジェクト用のsqliteデータベースラッパー
- 6. Pythonの軽量マークアップ言語
- 7. Linux/Windows用軽量SQLサーバー?
- 8. ココア軽量ストリング
- 9. 軽量テンプレートスクリプトフォームヘルパー
- 10. 軽量C++スクリプティングライブラリ
- 11. 軽量ソースコントロール
- 12. java軽量デバッガー
- 13. 軽量Hadoopディストリビューション
- 14. 軽量マトリックス
- 15. C++軽量コンフィグレーションライブラリ
- 16. カサンドラ軽量トランザクション
- 17. Windows軽量AD
- 18. 軽量Javaソケットライブラリ
- 19. キーボードフレンドリー軽量UMLモデリングツール?
- 20. 軽量.NET CMSライブラリ
- 21. Ruby:軽量Webサーバー
- 22. OpenID Connect軽量ライブラリ
- 23. Silverlightの軽量プロファイリング?
- 24. 軽量スタンドアロンC#デバッガ
- 25. 軽量のJavaScriptリアルタイムタイマー
- 26. 軽量データベースエンジン、Delphi 1?
- 27. 基本(軽量)ライトボックス
- 28. 超軽量YouTubeプレーヤー
- 29. 軽量、registrationless、Webフォーム
- 30. Scalaの軽量キャッシングソリューション?
ピューニーはうまくいけばそこにいるはずです。既にデータベースがある場合は、モデルコードも生成するスクリプト "pwiz"があります。http://charlesleifer.com/blog/model-code-generation-peewee/ – coleifer
peeweeは簡単で使いやすいです。 –
ピューニーは良いです。 –