以下のステップを実行して、ManyToManyキーを追加する方法を説明します。
ステップ1: モデルの作成
まず、ManyToMany関係を持つモデルを作成します。例として、Book
モデルとAuthor
モデルを使用します。
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField('Author')
class Author(models.Model):
name = models.CharField(max_length=50)
上記のコードでは、Book
モデルとAuthor
モデルが定義されています。Book
モデルはauthors
フィールドを持ち、これがManyToManyフィールドです。
ステップ2: マイグレーションの作成と適用 モデルの変更をデータベースに反映させるために、マイグレーションを作成して適用する必要があります。以下のコマンドを順番に実行します。
python manage.py makemigrations
python manage.py migrate
ステップ3: ManyToManyフィールドの使用 ManyToManyフィールドを操作するには、モデルインスタンスを使用します。以下の例では、新しい本を作成し、著者を関連付けます。
author1 = Author.objects.create(name='John Doe')
author2 = Author.objects.create(name='Jane Smith')
book = Book.objects.create(title='My Book')
book.authors.add(author1, author2)
上記のコードでは、Author
モデルのインスタンスを作成し、Book
モデルのインスタンスを作成してから、authors
フィールドに関連する著者を追加しています。
これでManyToManyキーを追加する方法がわかりました。必要に応じて、他の関連操作(削除、取得など)も使用できます。