【毎日改善12日目】記事タイトルが本番環境ではまだ32文字以内になっている問題の解決

投稿者: urumos

作成日: 2025年1月13日11:22

更新日: 2025年1月13日11:22

カテゴリ: Django

タグ: 毎日改善,


次は長いタイトルを入れるとServer erorr 500で返るのを直したい(タイトルは〇文字以内です、のように表示させたい)

よくよく確認してみると、32文字以内だとエラーになり、33文字以上だとエラーになっている。
しかしこれは、毎日改善6日目に100文字に変更しなかったか?

githubを見てみても、ちゃんと

class Post(models.Model):
title = models.CharField('タイトル', max_length=100)

となっている。

もしやAWS側でマイグレーションしてなかったか?
過去記事をみると、makemigrationをすると、
そのアプリディレクトリ内のmodels.pyの内容を元に、
「(アプリ名)/migrations」フォルダ内に「0001_initial.py」などの「マイグレーションファイル」が作られる。
※「マイグレーションファイル」とは、データベースにSQL文を送るための前段階のファイル。
とあるので、
AWSでblog/migrationsの中身を見てみる

それっぽい名前が、2022年2月12日だ。
これは時期的にも名前的にも、最初にAWSでマイグレーションした時のものなので、
やはりやっていなかったみたい

なのでやる

{ユーザー名}@ip-10-0-1-10:~/pyprojects/DjangoMyBlog$ python3.9 manage.py makemigrations blog

すると下記のように出た

Migrations for 'blog':
blog/migrations/0002_auto_20250113_1048.py
- Alter field title on post

成功っぽい
続いてマイグレート

{ユーザー名}@ip-10-0-1-10:~/pyprojects/DjangoMyBlog$ python3.9 manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, blog, contenttypes, sessions
Running migrations:
Applying blog.0002_auto_20250113_1048... OK

成功っぽい!

実際に本番環境の管理画面から33文字以上100文字以内のタイトルで保存してみる
無事にエラーなくなった!!
よかったよかった。

101文字以上のタイトルにする可能性は低いと思うけど、
どこかのタイミングで101文字以上だったらエラーが出て保存できないようにしたいな。