ホームページ > バックエンド開発 > Python チュートリアル > Python Django の ORM フレームワーク ORM の実践

Python Django の ORM フレームワーク ORM の実践

WBOY
リリース: 2023-06-10 13:00:23
オリジナル
1552 人が閲覧しました

インターネットの発展に伴い、開発ソフトウェアの人気はますます高まっています。開発効率とコード管理を向上させるために、多くの言語が ORM フレームワークを提供しており、Python も例外ではありません。 Django は、強力な ORM フレームワークである Django ORM を提供する Python Web フレームワークです。この記事では、Django ORM を使用してデータベースを管理する方法を紹介します。

  1. Django のインストール

Django ORM を使用する前に、Django をインストールする必要があります。 pip を使用してインストールできます。コマンドは次のとおりです:

pip install django
ログイン後にコピー
  1. 新しい Django プロジェクト

Django をインストールした後、それを使用して新しいプロジェクトを作成できます。コマンドは次のとおりです。

django-admin startproject project_name
ログイン後にコピー

これにより、project_name という名前の Django プロジェクトが作成されます。

  1. データベース モデルの作成

Django ORM では、データベース モデルを Python クラスとして定義できます。プロジェクトのアプリ ディレクトリに、models.py という名前のファイルを作成し、その中にモデルを定義します。たとえば、title、author、pub_date、price 属性を持つ Book という名前のモデルを作成するには、次のように定義できます。

from django.db import models
   
class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=200)
    pub_date = models.DateField()
    price = models.DecimalField(max_digits=5, decimal_places=2)
ログイン後にコピー

ここで、Book は Django ORM の Model クラスを継承し、4 つの属性を定義します。 CharField は文字型を表し、DateField は日付型を表し、DecimalField は 10 進数型を表します。各プロパティを定義するとき、パラメータを使用してそのタイプ、長さ、精度などを制御できます。

さらに、モデルのメソッドとクラス メソッドを定義することもできます。たとえば、データベースからすべての書籍を取得するには、Book モデルで get_books という名前のクラス メソッドを定義します。

class Book(models.Model):
    # 类属性
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=200)
    pub_date = models.DateField()
    price = models.DecimalField(max_digits=5, decimal_places=2)

    # 类方法
    @classmethod
    def get_books(cls):
        return cls.objects.all()
ログイン後にコピー

ここでは、classmethod 修飾子を使用して get_books メソッドを変更し、クラス メソッドとして定義します。このメソッドは、Django ORM の object 属性を使用して、すべての Book オブジェクトを取得します。

  1. データベース移行の実行

モデルを定義した後、データベースにテーブルを作成する必要があります。このプロセスは、Django ORM が提供する makemigrations および mitigration コマンドを使用して実行できます。 makemigrations コマンドを使用すると、モデルへの変更を含む移行ファイルが生成されます。移行コマンドを使用すると、移行ファイルが実行され、変更がデータベースに適用されます。コマンドは次のとおりです。

python manage.py makemigrations
python manage.py migrate
ログイン後にコピー
  1. Django ORM を使用してデータベースを管理する

データベース モデルを定義し、データベースの移行を完了した後、Django ORM を使用してデータベースを管理できます。データベース。たとえば、views.py では次のコードを作成できます。

from django.shortcuts import render
from .models import Book

def book_list(request):
    books = Book.get_books()
    return render(request, 'book_list.html', {'books': books})
ログイン後にコピー

ここでは、models.py から Book モデルをインポートし、get_books メソッドを使用してすべての書籍を取得します。次に、それらはパラメータとして render 関数に渡され、テンプレート ファイル book_list.html を使用してページがレンダリングされます。

book_list.html では、次のコードを使用して書籍のリストを表示できます。

{% for book in books %}
    <div class="book">
        <h2>{{ book.title }}</h2>
        <p>{{ book.author }} - {{ book.pub_date|date:"Y年m月d日" }}</p>
        <p>价格:{{ book.price }}</p>
    </div>
{% endfor %}
ログイン後にコピー

ここでは、for ループを使用してすべての書籍を走査し、その属性を出力します。 pub_date 属性を出力する場合、日付フィルターを使用して日付を年、月、日の形式にフォーマットすることに注意してください。

  1. 概要

Django ORM は、開発者がデータベースを簡単に管理できるようにする強力な ORM フレームワークです。この記事では、Django ORM を使用してモデルを作成し、データベース移行を実行し、データベースを管理するプロセスを紹介します。この記事が、初心者が Django ORM のアプリケーションをよりよく理解するのに役立つことを願っています。

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

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