ホームページ > バックエンド開発 > Python チュートリアル > PythonのORMフレームワークSQLObjectの詳細説明

PythonのORMフレームワークSQLObjectの詳細説明

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2023-06-10 17:06:07
オリジナル
1165 人が閲覧しました

Web アプリケーションの普及に伴い、Python は Web 開発の分野でますます広く使用されるようになりました。現在、多くの Python Web フレームワークは、データベースを操作するためのいくつかの ORM フレームワークを提供しています。 SQLObject は、非常に人気があり使いやすい ORM フレームワークの 1 つです。この記事ではSQLObjectフレームワークの使い方を詳しく紹介します。

  1. SQLObject のインストール

pip ツールを使用すると、SQLObject を簡単にインストールできます:

pip install sqlobject
ログイン後にコピー
  1. データベースに接続します

最初に sqlobject ライブラリを導入し、connectionForURI メソッドを使用してデータベースに接続します。以下は MySQL データベース接続の例です:

import MySQLdb
from sqlobject import *


connection_string = 'mysql://user:password@localhost/database'
connection = connectionForURI(connection_string)
sqlhub.processConnection = connection
ログイン後にコピー

ユーザー、パスワード、ローカルホスト、およびデータベースは実際の値に置き換える必要があります。

  1. モデル クラスの定義

モデル クラスを定義するときは、SQLObject クラスを継承する必要があります。以下は、Person クラスの簡単な定義の例です。

class Person(SQLObject):
    name = StringCol(length=100)
    age = IntCol(default=0)
ログイン後にコピー

Person クラスには、name と age の 2 つのフィールドが含まれています。 name は長さ 100 の文字列型で、age は初期値 0 の整数型です。 SQLObject は、StringCol、IntCol、FloatCol、DecimalCol、BoolCol、DateCol、DateTimeCol、TimeCol など、いくつかの異なる種類の列を提供します。デフォルト値、一意性、インデックスなど、列の他のプロパティを設定することもできます。

  1. テーブルの作成

データベースにテーブルを作成するには、Python シェルまたはスクリプトにモデル クラスを定義するモジュールを導入し、createTable() メソッドを実行するだけです。 :

from models import Person


Person.createTable()
ログイン後にコピー

テーブルが既に存在する場合、再度作成されることはありません。

  1. データの挿入

テーブルにデータを挿入するには、モデル クラスのインスタンスを作成し、各フィールドに値を割り当てるだけです。例:

john = Person(name='John Smith', age=30)
ログイン後にコピー

インスタンスをデータベースに保存するには、その save() メソッドを呼び出します:

john.save()
ログイン後にコピー

この時点で、person という名前のテーブルがデータベースに作成され、名前がジョン・スミス、30歳の記録。

  1. データのクエリ

SQLObject には、データベース内のデータをクエリするためのメソッドが多数用意されています。一般的に使用されるメソッドの例をいくつか次に示します。

(1) すべてのレコードを取得する

Person テーブル内のすべてのレコードを取得するには、Person クラスの select() メソッドを呼び出します。 ##

people = Person.select()
for person in people:
    print(person.name, person.age)
ログイン後にコピー

このコードは、Person テーブルの各レコードを反復処理して、名前と年齢フィールドの値を出力します。

(2) 条件でレコードをフィルターする

条件でレコードをフィルターするには、select() メソッドで SQLExpression オブジェクトを渡すことができます。たとえば、次のコードは、年齢が 30 歳以上の全員を取得します:

people = Person.select(Person.age >= 30)
for person in people:
    print(person.name, person.age)
ログイン後にコピー

同様に、<、<=、>、>=、==、! などの演算子を使用できます。 = 比較用。

(3) フィールドによる並べ替え

フィールドごとに並べ替えるには、select() メソッドで OrderBy 句を渡すことができます。たとえば、次のコードは年齢フィールドを昇順で並べ替えます:

people = Person.select(orderBy=Person.age)
for person in people:
    print(person.name, person.age)
ログイン後にコピー

降順で並べ替えるには、フィールド名の前にマイナス記号を追加できます。たとえば、:

people = Person.select(orderBy=-Person.age)
ログイン後にコピー

    データの更新
データを更新するには、モデル クラス インスタンスの属性値を変更し、その save() メソッドを呼び出すだけです。たとえば、次のコードは John Smith の年齢を 35 歳に変更します。

john.age = 35
john.save()
ログイン後にコピー

    データの削除
データを削除するには、モデル クラスの destroySelf() メソッドを呼び出すだけです。インスタンス それです。たとえば、次のコードは John Smith という名前のレコードを削除します。

john.destroySelf()
ログイン後にコピー
    summary
SQLObject は、Python Web 開発の操作を大幅に簡素化できる非常に便利な ORM フレームワークです。データベース。この記事では、データベースへの接続、モデル クラスの定義、テーブルの作成、データの挿入、データのクエリ、データの更新、データの削除など、SQLObject の基本的な使用法を紹介します。読者の皆様も、Python Web 開発に SQLObject を試してみていただければ幸いです。

以上がPythonのORMフレームワークSQLObjectの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート