1. ホーム
  2. sql

[解決済み] Django の CharField と TextField の違いは何ですか?

2022-03-14 07:25:42

質問

その ドキュメンテーション には、次のように書かれています。 CharField() は小さい文字列に対して使用され TextField() は大きな文字列に使用されます。

では、quot;small" とquot;large" の線引きはどこにあるのでしょうか? このようなケースになるのは、水面下で何が起こっているからなのでしょうか?

どうすれば解決するの?

それは、RDBMSの違いです。 varchar (または類似の) - これらは通常、最大長で指定され、パフォーマンスやストレージの面でより効率的かもしれません - そして text (または類似の)型 - これらは通常、(DBスキーマではなく)ハードコードされた実装の制限によってのみ制限されます。

PostgreSQL 9 では、具体的に以下のように記述されています。 これらの3つのタイプの間にパフォーマンスの違いはありません。 しかし、MySQLなどでは若干の違いがあるようなので、この点は注意が必要です。

経験則では CharField は、最大長を制限する必要がある場合に使用します。 TextField それ以外の場合は

これもまた、Django 特有というわけではありません。