... フォームセットバリデーションを使用する必要があります。 validate_max ¶ formset_factory() に validate_max=True が渡された場合、データセット内のフォーム数から削除マークが付けられたフォーム数を除いた数が max_num 以下であるかどうかも検証されます。 >>> from django.fo ... ッセージは error_messages 引数に 'too_many_forms' メッセージを渡すことでカスタマイズできます。 注釈 validate_max に関係なく、データセット内のフォームの数が absolute_max を超えた場合、 validate_max が指定されている場合と同様にフォームのバリデーションは失敗し、さ ... ムの数を制限する を参照してください。 validate_min ¶ formset_factory() に validate_min=True が渡された場合、バリデーションはデータセット内のフォームの数から削除マークが付けられたものを除いた数が min_num 以上であることもチェックします。 >>> from django.forms im ... ... フォームセットバリデーションを使用する必要があります。 validate_max ¶ formset_factory() に validate_max=True が渡された場合、データセット内のフォーム数から削除マークが付けられたフォーム数を除いた数が max_num 以下であるかどうかも検証されます。 >>> from django.fo ... ッセージは error_messages 引数に 'too_many_forms' メッセージを渡すことでカスタマイズできます。 注釈 validate_max に関係なく、データセット内のフォームの数が absolute_max を超えた場合、 validate_max が指定されている場合と同様にフォームのバリデーションは失敗し、さ ... ムの数を制限する を参照してください。 validate_min ¶ formset_factory() に validate_min=True が渡された場合、バリデーションはデータセット内のフォームの数から削除マークが付けられたものを除いた数が min_num 以上であることもチェックします。 >>> from django.forms im ... ... むことをおすすめします。 バインドされた (bound) フォームとバインドされていない (unbound) フォーム ¶ Form のインスタンスには、データセットに バインドされている (bound な) ものと バインドされていない (unbound な) ものがあります。 データセットに バインドされた For ... であれば、そのデータをバリデーションしたり、HTMLとしてフォームをレンダリングし、HTMLにデータを表示したりすることができます。 データセットに バインドされていない Form インスタンスでは、(検証するデータがないので)データをバリデーションすることはできませんが、空の ... ... むことをおすすめします。 バインドされた (bound) フォームとバインドされていない (unbound) フォーム ¶ Form のインスタンスには、データセットに バインドされている (bound な) ものと バインドされていない (unbound な) ものがあります。 データセットに バインドされた For ... であれば、そのデータをバリデーションしたり、HTMLとしてフォームをレンダリングし、HTMLにデータを表示したりすることができます。 データセットに バインドされていない Form インスタンスでは、(検証するデータがないので)データをバリデーションすることはできませんが、空の ... ... ットフィルタを有効にすると、管理画面のチェンジリストページのクエリ数がフィルタの数だけ増えます。これらのクエリは、特に大きなデータセットの場合、パフォーマンスの問題を引き起こすかもしれません。このような場合は、 show_facets を ShowFacets.NEVER に設定して、ファセ ... ] search_fields = [ "question_text" ] class ChoiceAdmin ( admin . ModelAdmin ): autocomplete_fields = [ "question" ] 巨大なデータセットに対するパフォーマンス上の注意 ModelAdmin.ordering を使った並べ替えは、巨大なクエリセットは遅くなるため、パフォーマンスの問題 ... ... ットフィルタを有効にすると、管理画面のチェンジリストページのクエリ数がフィルタの数だけ増えます。これらのクエリは、特に大きなデータセットの場合、パフォーマンスの問題を引き起こすかもしれません。このような場合は、 show_facets を ShowFacets.NEVER に設定して、ファセ ... ] search_fields = [ "question_text" ] class ChoiceAdmin ( admin . ModelAdmin ): autocomplete_fields = [ "question" ] 巨大なデータセットに対するパフォーマンス上の注意 ModelAdmin.ordering を使った並べ替えは、巨大なクエリセットは遅くなるため、パフォーマンスの問題 ... ... を返します。デフォルトでは、すべての関数は AUTH_PASSWORD_VALIDATORS で定義されたバリデータを使用しますが、この関数を別のバリデータセットで呼び出して、その結果を他の関数の password_validators パラメータに渡すことで、カスタムバリデータセットを代わりに使用できます ... 。これは、たいていの場面で使用する典型的なバリデータセットがありながら、 特別な場面で独自のバリデータセットが必要になる場合に便利です。常に同じバリデータを使う場合は、この関数を使う必 ... ... を返します。デフォルトでは、すべての関数は AUTH_PASSWORD_VALIDATORS で定義されたバリデータを使用しますが、この関数を別のバリデータセットで呼び出して、その結果を他の関数の password_validators パラメータに渡すことで、カスタムバリデータセットを代わりに使用できます ... 。これは、たいていの場面で使用する典型的なバリデータセットがありながら、 特別な場面で独自のバリデータセットが必要になる場合に便利です。常に同じバリデータを使う場合は、この関数を使う必 ... ... holds a maximum of 8 digits up to three decimal places. 地理情報モデル ¶ 地理情報モデルを定義する ¶ さて、 ogrinfo を使ってデータセットを調べたので、このデータを表す GeoDjango モデルを作成しましょう: from django.contrib.gis.db import models class WorldBorder ... o は admin アプリケーションで OpenStreetMap レイヤーを使用します。これにより、 ModelAdmin が使用する Vector Map Level 0 WMSデータセット ( OSGeo でホストされている) よりも、より多くのコンテキスト (通りや通路の詳細を含む) が提供されます。 PROJの座標変換ファイル ... elAdmin オプションクラスを使用してください: admin . site . register ( WorldBorder , admin . GISModelAdmin ) 脚注 [ 1 ] このデータセットの提供およびメンテナンスをしてくれた mastermaps.net の Bjørn Sandvik 氏に特別な感謝を申し上げます。 [ 2 ] GeoDjango の基本ア ... ... holds a maximum of 8 digits up to three decimal places. 地理情報モデル ¶ 地理情報モデルを定義する ¶ さて、 ogrinfo を使ってデータセットを調べたので、このデータを表す GeoDjango モデルを作成しましょう: from django.contrib.gis.db import models class WorldBorder ... o は admin アプリケーションで OpenStreetMap レイヤーを使用します。これにより、 ModelAdmin が使用する Vector Map Level 0 WMSデータセット ( OSGeo でホストされている) よりも、より多くのコンテキスト (通りや通路の詳細を含む) が提供されます。 PROJの座標変換ファイル ... elAdmin オプションクラスを使用してください: admin . site . register ( WorldBorder , admin . GISModelAdmin ) 脚注 [ 1 ] このデータセットの提供およびメンテナンスをしてくれた mastermaps.net の Bjørn Sandvik 氏に特別な感謝を申し上げます。 [ 2 ] GeoDjango の基本ア ... 2026年10月08日