以下の内容はhttps://kojirooooocks.hatenablog.com/entry/2025/11/09/233141より取得しました。


DjangoのModel定義とマイグレーションやってみた

最初に

前回はプロジェクトを立ち上げただけだったので、今回はモデル定義とDB周りを触ってみました。

本題

アプリケーション作成

$ python manage.py startapp blog

Djangoでは機能ごとに「アプリ」を作る思想らしい。 ほぇ〜

モデル定義

blog/models.py にこんな感じで書いてみた。

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

PHPエンジニアとして感じたこと

  • マイグレーションファイルを自動生成してくれるの、めっちゃ便利
  • CharField, TextField とか型が明示的。
  • auto_now_addauto_now で自動的にタイムスタンプ管理できるのはいい。
  • PHP$this-> みたいなのが self. になってて、最初戸惑った
    • まぁここはなれか。

マイグレーション実行

$ python manage.py makemigrations
$ python manage.py migrate

makemigrationsマイグレーションファイル作成、migrate で実行。

Laravelの php artisan make:migrationphp artisan migrate と一緒。

詰まったポイント

終わりに

Laravelと比較しながらやると、理解が早い気がする。 次ものんびりやっていきます。




以上の内容はhttps://kojirooooocks.hatenablog.com/entry/2025/11/09/233141より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14