1. モデルにEmailFieldを追加する
まず、DjangoのモデルにEmailField
を追加します。以下は、User
モデルにemail
フィールドを追加する例です。
from django.db import models
class User(models.Model):
username = models.CharField(max_length=30)
email = models.EmailField(unique=True) # EmailFieldを追加
このコードでは、email
フィールドにEmailField
を使用し、unique=True
を指定して一意のメールアドレスを保証します。
2. データベースにモデルを適用する
モデルの変更をデータベースに適用するために、以下のコマンドを実行します。
python manage.py makemigrations
python manage.py migrate
これにより、データベースにUser
モデルが作成され、email
フィールドが含まれます。
3. データベース操作の例
以下は、User
モデルを使用した具体的なコード例です。
ユーザーの作成
user1 = User(username="john_doe", email="john@example.com")
user1.save()
ユーザーの取得
user = User.objects.get(email="john@example.com")
ユーザーの更新
user.delete()
4. バリデーションの例
EmailField
はメールアドレスのバリデーションも行います。例えば、不正なメールアドレスを入力しようとすると、以下のようにエラーが発生します。
user2 = User(username="jane_doe", email="invalid_email") # これはエラーを引き起こします
user2.save()
以上がDjangoのORMでEmailField
を使用する方法です。これを使ってユーザーのメールアドレスを簡単に管理できます。