インターネットの発展に伴い、開発ソフトウェアの人気はますます高まっています。開発効率とコード管理を向上させるために、多くの言語が ORM フレームワークを提供しており、Python も例外ではありません。 Django は、強力な ORM フレームワークである Django ORM を提供する Python Web フレームワークです。この記事では、Django ORM を使用してデータベースを管理する方法を紹介します。
- Django のインストール
Django ORM を使用する前に、Django をインストールする必要があります。 pip を使用してインストールできます。コマンドは次のとおりです:
pip install django
- 新しい 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 を使用してデータベースを管理する
データベース モデルを定義し、データベースの移行を完了した後、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 id="book-title">{{ 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 サイトの他の関連記事を参照してください。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

Dreamweaver Mac版
ビジュアル Web 開発ツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

メモ帳++7.3.1
使いやすく無料のコードエディター

ホットトピック



