DjangoのORMフレームワークの使い方は何ですか?

DjangoのORM(Object-Relational Mapping)は、データベースを操作するためのフレームワークであり、SQL文を直接使用するのではなく、オブジェクト指向的な方法でデータベースを管理する手段を提供しています。

DjangoのORMフレームワークを使用すると、モデルクラスを定義してデータベースのテーブル構造を記述し、その後、これらのモデルオブジェクトを操作してデータベースの追加、削除、更新、検索操作を実行できます。以下はDjangoのORMフレームワークの使い方です:

  1. django.db.models.Modelの説明
from django.db import models

class User(models.Model):
    name = models.CharField(max_length=100)
    age = models.IntegerField()
  1. モデルを定義した後、Djangoのデータベース移行ツールを使用して、データベーステーブルを作成したりテーブル構造を更新したりすることができます。
$ python manage.py makemigrations   # 生成迁移文件
$ python manage.py migrate          # 执行迁移
  1. データベース操作:モデルクラスのオブジェクトを使用して、データベースの操作を行います。追加、削除、更新、検索などがあります。
# 创建对象
user = User(name="Alice", age=25)
user.save()

# 查询对象
users = User.objects.all()
user = User.objects.get(name="Alice")

# 更新对象
user.name = "Bob"
user.save()

# 删除对象
user.delete()
  1. DjangoのORMフレームワークには、豊富なクエリフィルタリングメソッドが提供されており、条件に基づいてクエリ結果をフィルタリングすることができます。
# 等值查询
users = User.objects.filter(age=25)

# 模糊查询
users = User.objects.filter(name__contains="ob")

# 范围查询
users = User.objects.filter(age__gt=20, age__lt=30)

# 排序
users = User.objects.order_by("-age")

# 限制查询结果数量
users = User.objects.all()[:10]
  1. 関連操作:DjangoのORMフレームワークは、一対一、一対多、多対多など、さまざまなタイプの関連をサポートしています。モデルクラス間の関連フィールドを定義し、関連メソッドを使用して関連を構築することができます。
class Article(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(User, on_delete=models.CASCADE)

# 查询某个作者的所有文章
articles = Article.objects.filter(author=user)

# 查询某篇文章的作者
author = article.author

# 创建关联对象
article = Article(title="Title", author=user)
article.save()

以上の簡単な説明を通じて、DjangoのORMフレームワークを使用してデータベース操作を始めることができます。もちろん、DjangoのORMフレームワークにはさらに高度な使い方や機能があります。例えば、集約、結合クエリなどです。詳細を知りたい場合は、Django公式ドキュメントを参照してください。

bannerAds