Djangoでモデルを作っている際に
「CharFieldとTextFieldを分ける必要ないんじゃない?」
と思った方もいると思います。
しかし、結論から申し上げますと使い分けるべきです。
その理由としては以下のような理由があげられます。
以下ソースより
’’’
端的に申しますとパフォーマンスの問題です。
TextFieldはCharFieldに比べるとデータベースのパフォーマンスが悪いのです。
具体的には、保存にかかるコスト、読み出しに関するコストが若干高いのです。
小規模なデータベースなら大した差にはならないのですが、これが大規模なものになるとかなりの差になります。
なのでもともと入力する文字数がわかっているなら、CharFieldのほうが良いのです。
普段から少し気にしておくことで、いざというときに困らなくなるので気にするようにしましょう。
’’’
参照先
https://e-tec-memo.herokuapp.com/article/71/
https://stackoverflow.com/questions/7354588/django-charfield-vs-textfield