のドキュメンテーションCharField()
は、小さい文字列には使用し、TextField()
大きい文字列には使用する必要があることを示しています。
わかりました。しかし、「小さい」と「大きい」の境界線はどこに引かれるのでしょうか? 内部では何が起こっているのでしょうか?
ベストアンサー1
これは、RDBMS (または類似のもの) と (または類似のもの) の違いです。RDBMS はvarchar
通常、最大長が指定されており、パフォーマンスやストレージの点でより効率的である可能性があります。また、text
(または類似の) タイプは通常、ハードコードされた実装制限 (DB スキーマではない) によってのみ制限されます。
PostgreSQL 9では、具体的には、「これら3つのタイプの間にパフォーマンスの違いはありません」ただし、私の知る限り、MySQL などではいくつかの違いがあるため、この点は留意する必要があります。
CharField
最大長を制限する必要がある場合にのみ使用し、TextField
そうでない場合は使用しないことをお勧めします。
これも実際には Django に固有のものではありません。