インターネットの発展に伴い、開発ソフトウェアの人気はますます高まっています。開発効率とコード管理を向上させるために、多くの言語が ORM フレームワークを提供しており、Python も例外ではありません。 Django は、強力な ORM フレームワークである Django ORM を提供する Python Web フレームワークです。この記事では、Django ORM を使用してデータベースを管理する方法を紹介します。
Django ORM を使用する前に、Django をインストールする必要があります。 pip を使用してインストールできます。コマンドは次のとおりです:
pip install django
Django をインストールした後、それを使用して新しいプロジェクトを作成できます。コマンドは次のとおりです。
django-admin startproject project_name
これにより、project_name という名前の Django プロジェクトが作成されます。
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 オブジェクトを取得します。
モデルを定義した後、データベースにテーブルを作成する必要があります。このプロセスは、Django ORM が提供する makemigrations および mitigration コマンドを使用して実行できます。 makemigrations コマンドを使用すると、モデルへの変更を含む移行ファイルが生成されます。移行コマンドを使用すると、移行ファイルが実行され、変更がデータベースに適用されます。コマンドは次のとおりです。
python manage.py makemigrations python manage.py migrate
データベース モデルを定義し、データベースの移行を完了した後、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 属性を出力する場合、日付フィルターを使用して日付を年、月、日の形式にフォーマットすることに注意してください。
Django ORM は、開発者がデータベースを簡単に管理できるようにする強力な ORM フレームワークです。この記事では、Django ORM を使用してモデルを作成し、データベース移行を実行し、データベースを管理するプロセスを紹介します。この記事が、初心者が Django ORM のアプリケーションをよりよく理解するのに役立つことを願っています。
以上がPython Django の ORM フレームワーク ORM の実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。