TextField
とCharField
の間の速度差がPostgreSQLでは無視できるため、PostgreSQLデータベースを使用している場合は、可変長文字列には常にTextField
を使用してください。私はDjangoには比較的新しいですし、私のデータベースの可変長URLにTextField
を使用することを検討していました。 URLField
を使用するメリットがあるのですか? URLにURLField
ではなくTextField
を使用すると悪い形式とみなされますか?TextFieldよりURLFieldを使用する利点?
答えて
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ですと同じように
#、これはあなたがURLField source codeが表示された場合、あなたはそれがURLのバリデータと実際にCharFieldですだ見つけるURLの検証が
を実行することになります。
また、EmailField、ImageField、* Fieldなどの他のフィールドも使用できます。
このクラスを試してみてください:レコードの
class LongURLField(TextField):
description = 'Long URL'
def __init__(self, verbose_name=None, name=None, **kwargs):
TextField.__init__(self, verbose_name, name, **kwargs)
self.validators.append(validators.URLValidator())
def formfield(self, **kwargs):
# As with TextField, this will cause URL validation to be performed
# twice.
defaults = {
'form_class': forms.URLField,
}
defaults.update(kwargs)
return super(LongURLField, self).formfield(**defaults)
はmax_lengthを2000に設定し、あなたは完璧なフィールドを持っています:) – gabn88
- 1. クォーツスケジューラライブラリよりSpringラッパークラスを使用する利点
- 2. 使用する利点何
- 3. Python 3を使用する利点/利点は何ですか?
- 4. Object.createを使用する利点
- 5. EncodePointer/DecodePointerを使用する利点
- 6. recaptchaを使用する利点
- 7. C#Path.Combineを使用する利点?
- 8. スプリングステレオタイプを使用する利点は?
- 9. Hibernateコールバックを使用する利点?
- 10. SQLAlchemyでpsycopg2を使用する利点
- 11. pymongo:MongoReplicaSetClientを使用する利点?
- 12. Pythonでmethodtypeを使用する利点
- 13. Angular2 getterメソッドを使用する利点
- 14. CUDAストリームを使用する利点
- 15. イニシャライザリストを使用する利点は?
- 16. CSSフレームワークを使用する利点
- 17. Angular2でreduxを使用する利点
- 18. ニューラルネットワークにテンソルフローを使用する利点はありますか?
- 19. Mantra.jsアーキテクチャフレームワークを使用する利点はありますか?
- 20. LF over CRLFを使用する利点はありますか?
- 21. UTF-16よりもUTF-8を使用する利点は何ですか?
- 22. Prologを他の言語よりも使用する利点は何ですか?
- 23. Spring FrameworkでNamedParameterJdbcTemplateよりもJdbcTemplateを使用する利点は何ですか?
- 24. スプリングバッチの代わりにSpringクラウドデータフローを使用する利点
- 25. epoll_create()の代わりにepoll_create1()を使用する利点
- 26. AJAX:XMLHttpRequestの代わりにjQueryの.ajax()を使用する利点?
- 27. Laravel Homestead使用の利点
- 28. プロキシキャッチサーバーを使用する利点と欠点は何ですか?
- 29. divコンテンツのロードにajaxを使用する利点/不利益
- 30. arrayWithCapacityを使用する利点は、arrayを使用することよりですか?
を、[IEは約2,000文字より長いURLをロードすることはできません](https://stackoverflow.com/questions/417142/what-is-the- url-in-different-browsersの最大長)、 'URLField'で' max_length'を2000に設定して、それを1日と呼びます。 – mlissner
URLFieldの非推奨への参照はありますか? – pravin
@pravin URLFieldではありませんが、以前のバリデータは推奨されていません。バリデーターはURLを検証するためにオンラインでアクセスしていましたが、現在は正規表現バリデーターに置き換えられてURLフォーマットの検証を確認しています。 – okm