私が理解しているように、PostgreSQL データベースを使用する場合は、aと aの速度の違いは PostgreSQL では無視できるTextField
ため、可変長文字列には常に a を使用する必要があります。私は Django に比較的慣れていないので、データベースで可変長の URL を使用することを検討していました。?を使用する利点があるかどうか疑問に思っていました。URL にaではなく aを使用するのは悪い形式と見なされますか?TextField
CharField
TextField
URLField
TextField
URLField
3 に答える
URLField は実際には CharField であり、正規表現ベースの URL パターン チェックとオンライン バリデーター (正規表現ベースのバリデーターに置き換えられました) をサポートしています。URL の長さ制限を気にしない場合は、TextField を使用できます。
from django.core.validators import URLValidator
# in model
field = models.TextField(validators=[URLValidator()])
さらに、CharField または TextField の使用は、フィールドに最大長の制約が必要かどうか、および編集に適している要素の種類 (textarea または input) によって異なります。PostgreSQL 側では、大きな違いはありません。
https://docs.djangoproject.com/en/dev/ref/models/fields/#urlfield もちろん、CharField/TextField を使用できますが、ユーザー入力を処理し、ユーザーが入力するものはすべてあなた次第です。
ソースコードから:
# CharField と同様に、これにより URL 検証が実行されます
URLFieldのソース コードを見ると、実際には URL バリデータ付きの CharField であることがわかります。
また、EmailField、ImageField、*Field など、すぐに使用できるフィールドが他にもあります。