HOWTO · Flask

Flask SQLAlchemy でレコードを削除する

このガイドでは、SQLAlchemy とは何か、システムに SQLAlchemy をダウンロードする方法、およびそれを実装する方法について説明します。 また、SQLAlchemy で削除関数を使用する方法を示します。

このページの内容

このガイドでは、SQLAlchemy とは何か、システムに SQLAlchemy をダウンロードする方法、およびそれを実装する方法について説明します。 また、SQLAlchemy で delete 関数を使用する方法を示します。

Flask SQLAlchemy を使用する

アプリケーション開発者は、SQLAlchemy を使用して、Python SQL ツールキットとオブジェクト リレーショナル マッパーで SQL の能力と柔軟性を最大限に活用できます。 高性能で効率的なデータベース アクセス用に設計されたエンタープライズ パーシスタンス パターンの完全なスイートを提供する、使いやすい Python ドメイン言語。

SQLAlchemy には、SQLite、PostgreSQL、MySQL、Oracle、MS-SQL、Firebird、Sybase などの方言が含まれています。 Python 2.5 以降をサポートしています。

サポートされているその他のプラットフォームには、Jython と Pypy があります。

SQLAlchemy の非常に有名な例は Yelp です。

これを使用する大きな利点は、データベースによるものです。 Python コードを変更する必要はありませんが、データベースの URI だけを変更する必要があります。ここで、URI は URL に似ていますが、データベース用です。

Flask SQLAlchemy をダウンロード

システムに SQLAlchemy をインストールするための簡単なコマンドがあります。 詳しくはこちらからホームページをご覧ください。

pip install flask-sqlalchemy

これをインストールした後、flask_sqlalchemy ライブラリから SQLAlchemy をインポートして、提供された関数を使用します。

Flask SQLAlchemy でレコードを削除する

SQLAlchemy の機能の 1つは delete() です。これは、フロント エンドからバック エンドまでのデータを削除するための操作です。

SQLAlchemy は delete() 操作を使用して、データベース テーブルからデータを削除します。 データベースの作成時に、エンジンを使用して同様のオブジェクトとインスタンスが作成されます。

以下は、サンプル コードで使用されている重要な関数です。

Customer 関数

この関数の唯一の目的は、データベースにテーブルを作成することです。 この関数を使用して、オブジェクトを追加および削除できます。

さらなる説明は以下に提供される。

セッションの基本

各クエリは、将来の参照を容易にするためにデータの保持ゾーンとして使用されるセッション ID を生成します。 簡単に言えば、セッションはデータベースとのすべてのやり取りを確立し、その存続期間中に使用したすべてのオブジェクトを保存します。

このガイドの最後にある例では、Session からの 3つの呼び出しを使用します: session.add()session.delete()、および session.commit()

session.add() および session.delete() 呼び出しは、パラメーターで指定された特定のオブジェクトを追加および削除するために使用されます。 session.commit() を使用するまでは、通常、最初は根拠のない形式で開始され、その後、与えられたデータが保存されます。

session.commit() 呼び出し

すべての操作が成功すると、この呼び出しが実行され、提供されたすべてのデータの保存が続行されます。 しかし、操作が実行されなかったり、例外が表示されたりした場合は、session.rollback() と呼ばれる呼び出しによって、実行されたトランザクションがロールバックされます。

しかし、session.commit() について知る必要があるだけなので、この呼び出しについては調べません。

以下は、上記の呼び出しを使用するコードの例で、データベースからデータを削除または削除する方法を示しています。

挿入 関数

この関数は、Customer クラスで作成されたテーブルに新しいオブジェクトを作成します。 session.add() 呼び出しを呼び出して、そのパラメーターに提供されたオブジェクトを挿入します。

次に、session.commit() を使用して、更新されたテーブルをデータベースに保存します。

delete 関数

この関数は insert 関数の反対です。 この関数は、パラメータで提供されたオブジェクトを削除するために使用されます。

ここでは、session.delete() を使用して指定されたオブジェクトを削除し、session.commit() を使用して更新されたテーブルをデータベースに保存します。

ここでの config は、uri を介してデータベースを指定するために使用されます。 データベースの uri を追加するだけです。

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

# TODO Specify Your DataBase Uri
# TODO Specify Your DataBase Uriapp.config['SQLALCHEMY_DATABASE_URI'] =

# initiating the sqlalchemy object
db = SQLAlchemy(app)


class Customer(db.Model):  # a table is being created here
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))
    address = db.Column(db.String(200))
    email = db.Column(db.String(50))

    def __init__(self, id, name, address, email):
        self.id = id
        self.name = name
        self.address = address
        self.email = email


def insert(id, name, address, email):
    # create the object of model class
    c1 = Customer(id, name, address, email)
    db.session.add(c1)
    db.session.commit()

    return "Customer Added Successfully"


def delete(self, id):  # Data is being deleted here
    dc = Customerque.ry.get(id)
    db.session.delete(dc)
    db.session.commit()

    return "Customer Deleted SuccessFully"

この例では、これらの機能を実行するためにデータベース URI を提供する必要があります。 URI を提供した後、Customer クラスが実行され、作業用のテーブルが作成されます。

その後、insert 関数を使用して、必要な数のオブジェクトを作成できます。その後、delete 関数が必要なオブジェクト (存在する場合) を削除します。