システムチェックフレームワーク—Djangoドキュメント

提供:Dev Guides
< DjangoDjango/docs/3.2.x/ref/checks
移動先:案内検索

システムチェックフレームワーク

システムチェックフレームワークは、Djangoプロジェクトを検証するための一連の静的チェックです。 一般的な問題を検出し、それらを修正する方法のヒントを提供します。 フレームワークは拡張可能であるため、独自のチェックを簡単に追加できます。

独自のチェックを追加してDjangoのシステムチェックと統合する方法の詳細については、システムチェックトピックガイドを参照してください。

APIリファレンス

CheckMessage

class CheckMessage(level, msg, hint=None, obj=None, id=None)

システムチェックによって発生する警告とエラーは、CheckMessageのインスタンスである必要があります。 インスタンスは、単一の報告可能なエラーまたは警告をカプセル化します。 また、メッセージに適用可能なコンテキストとヒント、およびフィルタリングの目的で使用される一意の識別子も提供します。

コンストラクターの引数は次のとおりです。

level
メッセージの重大度。 事前定義された値の1つを使用します:DEBUGINFOWARNINGERRORCRITICAL。 レベルがERROR以上の場合、Djangoは管理コマンドの実行を阻止します。 ERRORより低いレベルのメッセージ(つまり、 警告)はコンソールに報告されますが、無音にすることができます。
msg
問題を説明する短い(80文字未満)文字列。 文字列には改行を含めるべきではありません。
hint
問題を修正するためのヒントを提供する1行の文字列。 ヒントを提供できない場合、またはヒントがエラーメッセージから自明である場合は、ヒントを省略するか、Noneの値を使用できます。
obj
オプション。 メッセージのコンテキストを提供するオブジェクト(たとえば、問題が発見されたモデル)。 オブジェクトは、モデル、フィールド、マネージャー、または__str__()メソッドを定義するその他のオブジェクトである必要があります。 このメソッドは、すべてのメッセージを報告するときに使用され、その結果がメッセージの前に表示されます。
id
オプションの文字列。 問題の一意の識別子。 識別子はパターンapplabel.X001に従う必要があります。ここで、Xは文字CEWIDのいずれかであり、メッセージの重大度を示します(クリティカルの場合はCE ]エラーなど)。 番号はアプリケーションによって割り当てることができますが、そのアプリケーション内で一意である必要があります。

共通レベルのメッセージを簡単に作成できるようにするサブクラスがあります。 それらを使用する場合、level引数はクラス名によって暗示されるため、省略できます。

class Debug(msg, hint=None, obj=None, id=None)
class Info(msg, hint=None, obj=None, id=None)
class Warning(msg, hint=None obj=None, id=None)
class Error(msg, hint=None, obj=None, id=None)
class Critical(msg, hint=None, obj=None, id=None)


組み込みタグ

Djangoのシステムチェックは、次のタグを使用して編成されています。

  • admin:管理サイトの宣言をチェックします。
  • async_support:非同期関連の構成をチェックします。
  • caches:キャッシュ関連の構成を確認します。
  • compatibility:バージョンアップグレードに関する潜在的な問題にフラグを立てます。
  • database:データベース関連の構成の問題をチェックします。 データベースチェックは、通常のチェックとは異なり、静的コード分析以上のことを行うため、デフォルトでは実行されません。 これらは、:djadmin: `migrate` コマンドによって、または:djadmin:` check` を呼び出すときに--databaseオプションを使用して構成済みデータベースエイリアスを指定した場合にのみ実行されます。指図。
  • models:モデル、フィールド、およびマネージャーの定義をチェックします。
  • security:セキュリティ関連の構成を確認します。
  • signals:シグナル宣言とハンドラー登録をチェックします。
  • sitesdjango.contrib.sites の構成を確認します。
  • staticfilesdjango.contrib.staticfiles の構成を確認します。
  • templates:テンプレート関連の構成を確認します。
  • translation:翻訳関連の構成をチェックします。
  • urls:URL構成を確認します。

一部の小切手は複数のタグで登録される場合があります。

バージョン3.1で変更: async_supportタグが追加されました。


バージョン3.1で変更: databaseチェックは、check --databaseオプションを使用して指定されたデータベースエイリアスに対してのみ実行されるようになりました。


バージョン3.2で変更: sitesタグが追加されました。


コアシステムチェック

非同期サポート

バージョン3.1の新機能。


次のチェックは、非同期サポートのセットアップを確認します。


下位互換性

互換性チェックは、Djangoのアップグレード後に発生する可能性のある潜在的な問題を警告します。

  • 2_0.W001 :URLパターン<pattern>には、(?P<を含む、^で始まる、またはで終わるrouteがあります。 $。 これは、url()から path()に移行する際の見落としであった可能性があります。


キャッシュ

次のチェックは、:setting: `CACHES` 設定が正しく構成されていることを確認します。


データベース

MySQLとMariaDB

MySQLまたはMariaDBを使用している場合、次のチェックが実行されます。

  • mysql.E001 :MySQL / MariaDBでは、一意のCharFieldmax_length> 255を持つことはできません。 実際の最大サイズは多くの要因に依存するため、このチェックはDjango3.1で mysql.W003 に変更されました。
  • mysql.W002 :データベース接続<alias>にMySQL / MariaDB厳密モードが設定されていません。 sql_mode の設定も参照してください。
  • mysql.W003 :MySQL / MariaDBは、一意のCharFieldmax_length> 255を持つことを許可しない場合があります。


モデルフィールド

  • fields.E001 :フィールド名はアンダースコアで終わらせてはなりません。
  • fields.E002 :フィールド名に"__"を含めることはできません。
  • fields.E003pkは、フィールド名として使用できない予約語です。
  • fields.E004choicesは反復可能である必要があります(リストまたはタプルなど)。
  • fields.E005choicesは、(actual value, human readable name)タプルを含む反復可能である必要があります。
  • fields.E006db_indexは、NoneTrue、またはFalseである必要があります。
  • fields.E007 :主キーにnull=Trueを含めることはできません。
  • fields.E008 :すべてのvalidatorsは呼び出し可能である必要があります。
  • fields.E009max_lengthが小さすぎて、choices<count>文字)の最長値に収まりません。
  • fields.E010<field>のデフォルトは、すべてのフィールドインスタンス間で共有されないように、インスタンスではなく呼び出し可能である必要があります。
  • fields.E100AutoFieldは、primary_key = Trueを設定する必要があります。
  • fields.E110BooleanFieldはnull値を受け入れません。 このチェックは、Django2.1でnull値のサポートが追加される前に表示されました。
  • fields.E120CharFieldは、max_length属性を定義する必要があります。
  • fields.E121max_lengthは正の整数である必要があります。
  • fields.W122<integer field type>と一緒に使用すると、max_lengthは無視されます。
  • fields.E130DecimalFieldは、decimal_places属性を定義する必要があります。
  • fields.E131decimal_placesは負でない整数でなければなりません。
  • fields.E132DecimalFieldは、max_digits属性を定義する必要があります。
  • fields.E133max_digitsは正の整数である必要があります。
  • fields.E134max_digitsdecimal_places以上である必要があります。
  • fields.E140FilePathFieldは、allow_filesまたはallow_foldersのいずれかをTrueに設定する必要があります。
  • fields.E150null=Falseの場合、GenericIPAddressFieldblank=Trueを持つことができません。これは、空白の値がnullとして格納されるためです。
  • fields.E160 :オプションauto_nowauto_now_add、およびdefaultは相互に排他的です。 これらのオプションの1つだけが存在する可能性があります。
  • fields.W161 :提供されたデフォルト値を修正しました。
  • fields.W162<database>は、<field data type>列のデータベースインデックスをサポートしていません。
  • fields.E170BinaryFielddefaultを文字列にすることはできません。 代わりにバイトコンテンツを使用してください。
  • fields.E180<database>JSONFieldをサポートしていません。
  • fields.E190<database>は、<field_type>でのデータベース照合をサポートしていません。
  • fields.E900IPAddressFieldは、過去の移行でのサポートを除いて削除されました。
  • fields.W900IPAddressFieldは非推奨になりました。 それのサポート(過去の移行を除く)はDjango1.9で削除されます。 このチェックはDjango1.7および1.8 で登場しました。
  • fields.W901CommaSeparatedIntegerFieldは非推奨になりました。 それのサポート(過去の移行を除く)はDjango2.0で削除されます。 このチェックはDjango1.10および1.11 で登場しました。
  • fields.E901CommaSeparatedIntegerFieldは、過去の移行でのサポートを除いて削除されました。
  • fields.W902FloatRangeFieldは非推奨であり、Django3.1で削除されます。 このチェックはDjango2.2および3.0 で登場しました。
  • fields.W903NullBooleanFieldは非推奨です。 それのサポート(過去の移行を除く)はDjango4.0で削除されます。
  • fields.W904django.contrib.postgres.fields.JSONFieldは非推奨です。 それのサポート(過去の移行を除く)はDjango4.0で削除されます。

ファイルフィールド

  • fields.E200uniqueFileFieldの有効な引数ではありません。 このチェックはDjango1.11 で削除されました。
  • fields.E201primary_keyFileFieldの有効な引数ではありません。
  • fields.E202FileFieldupload_to引数は、絶対パスではなく相対パスである必要があります。
  • fields.E210 :Pillowがインストールされていないため、ImageFieldを使用できません。


モデル

  • models.E001<swappable>app_label.app_nameの形式ではありません。
  • models.E002<SETTING>は、インストールされていないか、抽象的である<model>を参照します。
  • models.E003 :モデルには、中間モデル<app_label>.<model>を介した2つの同一の多対多関係があります。
  • models.E004idは、フィールドにprimary_key=Trueも設定されている場合にのみ、フィールド名として使用できます。
  • models.E005 :親モデル<model>のフィールド<field name>が、親モデル<model>のフィールド<field name>と衝突します。
  • models.E006 :フィールド<field name>は、モデル<model>のフィールド<field name>と衝突します。
  • models.E007 :フィールド<field name>には、別のフィールドで使用される列名<column name>があります。
  • models.E008index_togetherはリストまたはタプルである必要があります。
  • models.E009 :すべてのindex_together要素はリストまたはタプルである必要があります。
  • models.E010unique_togetherはリストまたはタプルである必要があります。
  • models.E011 :すべてのunique_together要素はリストまたはタプルである必要があります。
  • models.E012constraints/indexes/index_together/unique_togetherは、存在しないフィールド<field name>を参照します。
  • models.E013constraints/indexes/index_together/unique_togetherManyToManyField <field name>を参照しますが、ManyToManyFieldはそのオプションではサポートされていません。
  • models.E014orderingはタプルまたはリストである必要があります(1つのフィールドのみで注文する場合でも)。
  • models.E015orderingは、存在しないフィールド、関連フィールド、またはルックアップ<field name>を指します。
  • models.E016constraints/indexes/index_together/unique_togetherは、モデル<model>に対してローカルではないフィールド<field_name>を参照します。
  • models.E017 :プロキシモデル<model>にはモデルフィールドが含まれています。
  • models.E018 :自動生成された列名がフィールド<field>に対して長すぎます。 データベース<alias>の最大長は<maximum length>です。
  • models.E019 :自動生成された列名がM2Mフィールド<M2M field>に対して長すぎます。 データベース<alias>の最大長は<maximum length>です。
  • models.E020<model>.check()クラスメソッドは現在オーバーライドされています。
  • models.E021orderingorder_with_respect_toは併用できません。
  • models.E022<function>には<app label>.<model>への遅延参照が含まれていますが、アプリ<app label>がインストールされていないか、モデル [を提供していませんX135X]。
  • models.E023 :モデル名<model>は、クエリルックアップ構文と衝突するため、アンダースコアで開始または終了できません。
  • models.E024 :モデル名<model>は、クエリルックアップ構文と衝突するため、二重下線を含めることはできません。
  • models.E025 :プロパティ<property name>が関連するフィールドアクセサーと衝突します。
  • models.E026 :モデルはprimary_key=Trueで複数のフィールドを持つことはできません。
  • models.W027<database>はチェック制約をサポートしていません。
  • models.E028db_table <db_table>は複数のモデルで使用されています:<model list>
  • models.E029 :インデックス名<index>はモデル<model>で一意ではありません。
  • models.E030 :インデックス名<index>はモデル間で一意ではありません:<model list>
  • models.E031 :制約名<constraint>はモデル<model>に対して一意ではありません。
  • models.E032 :制約名<constraint>はモデル間で一意ではありません:<model list>
  • models.E033 :インデックス名<index>をアンダースコアまたは数字で始めることはできません。
  • models.E034 :インデックス名<index><max_length>文字より長くすることはできません。
  • models.W035db_table <db_table>は複数のモデルで使用されています:<model list>
  • models.W036<database>は、条件付きの一意の制約をサポートしていません。
  • models.W037<database>は、条件付きのインデックスをサポートしていません。
  • models.W038<database>は、延期可能な一意の制約をサポートしていません。
  • models.W039<database>は、非キー列での一意の制約をサポートしていません。
  • models.W040<database>は、非キー列を持つインデックスをサポートしていません。
  • models.E041constraintsは、結合されたフィールド<field name>を参照します。
  • models.W042 :主キータイプを定義しない場合に使用される自動作成された主キー。デフォルトではdjango.db.models.AutoField
  • models.W043<database>は式のインデックスをサポートしていません。


安全

セキュリティチェックはあなたのサイトを安全にしません。 コードを監査したり、侵入検知を行ったり、特に複雑なことをしたりすることはありません。 むしろ、それらはあなたがあなたのサイトのセキュリティを改善するのを助けることができる自動化された、ぶら下がっている果物のチェックリストを実行するのを助けます。

これらのチェックの一部は、特定のデプロイメント構成に適していない場合があります。 たとえば、ロードバランサーでHTTPからHTTPSへのリダイレクトを行う場合、:setting: `SECURE_SSL_REDIRECT` が有効になっていないことについて常に警告されるのはイライラします。 :setting: `SILENCED_SYSTEM_CHECKS` を使用して、不要なチェックを無音にします。

check --deployオプションを使用すると、次のチェックが実行されます。

次のチェックは、セキュリティ関連の設定が正しく構成されていることを確認します。

  • security.E100:setting: `DEFAULT_HASHING_ALGORITHM`'sha1'または'sha256'である必要があります。
  • security.E101 :CSRF障害ビュー'path.to.view'は正しい数の引数を取りません。
  • security.E102 :CSRF障害ビュー'path.to.view'をインポートできませんでした。


信号

  • signal.E001<handler>は送信者<app label>.<model>への遅延参照で<signal>信号に接続されましたが、アプリ<app label>は接続されていませんインストールされていないか、モデル<model>を提供していません。


テンプレート

次のチェックは、:setting: `TEMPLATES` 設定が正しく構成されていることを確認します。

  • templates.E001:setting: `TEMPLATES`'APP_DIRS': Trueがありますが、OPTIONS'loaders'も指定します。 APP_DIRSを削除するか、'loaders'オプションを削除してください。
  • テンプレート.E002string_if_invalid:setting: `TEMPLATES` :setting: `オプション ` 文字列である必要がありますが、次のようになります。{value} (({type} )。


翻訳

変換構成に対して次のチェックが実行されます。


URL

URL構成に対して次のチェックが実行されます。

  • urls.W001 :URLパターン<pattern>は、 include()を使用し、route$で終わります。 routeからドルを削除して、URLなどの問題を回避します。
  • urls.W002 :URLパターン<pattern>には、/で始まるrouteがあります。 このスラッシュは不要なので削除してください。 このパターンが include()の対象である場合は、 include()パターンの末尾に/があることを確認してください。
  • urls.W003 :URLパターン<pattern>には、:を含むnameがあります。 あいまいな名前空間参照を避けるために、コロンを削除します。
  • urls.E004 :URLパターン<pattern>が無効です。 urlpatternspath()および/または re_path()インスタンスのリストであることを確認してください。
  • urls.W005 :URL名前空間<namespace>は一意ではありません。 この名前空間のすべてのURLを元に戻すことができない場合があります。
  • urls.E006:setting: `MEDIA_URL` / :setting:` STATIC_URL` 設定はスラッシュで終了する必要があります。
  • urls.E007 :カスタムhandlerXXXビュー'path.to.view'は正しい数の引数を取りません(…)。
  • urls.E008 :カスタムhandlerXXXビュー'path.to.view'をインポートできませんでした。


contribアプリチェック

admin

管理者チェックはすべてadminタグの一部として実行されます。

次のチェックは、管理サイトに登録されている ModelAdmin (またはサブクラス)に対して実行されます。

  • admin.E001raw_id_fieldsの値はリストまたはタプルである必要があります。
  • admin.E002raw_id_fields[n]の値は、<model>の属性ではない<field name>を参照しています。
  • admin.E003raw_id_fields[n]の値は、外部キーまたは多対多フィールドである必要があります。
  • admin.E004fieldsの値はリストまたはタプルである必要があります。
  • admin.E005fieldsetsfieldsの両方が指定されています。
  • admin.E006fieldsの値に重複するフィールドが含まれています。
  • admin.E007fieldsetsの値はリストまたはタプルである必要があります。
  • admin.E008fieldsets[n]の値はリストまたはタプルである必要があります。
  • admin.E009fieldsets[n]の値は長さ2でなければなりません。
  • admin.E010fieldsets[n][1]の値は辞書である必要があります。
  • admin.E011fieldsets[n][1]の値には、キーfieldsが含まれている必要があります。
  • admin.E012fieldsets[n][1]に重複するフィールドがあります。
  • admin.E013fields[n]/fieldsets[n][m]には、ManyToManyField <field name>を含めることはできません。これは、そのフィールドが関係モデルを手動で指定しているためです。
  • admin.E014excludeの値はリストまたはタプルである必要があります。
  • admin.E015excludeの値に重複するフィールドが含まれています。
  • admin.E016formの値は、BaseModelFormから継承する必要があります。
  • admin.E017filter_verticalの値はリストまたはタプルである必要があります。
  • admin.E018filter_horizontalの値はリストまたはタプルである必要があります。
  • admin.E019filter_vertical[n]/filter_horizontal[n]の値は、<model>の属性ではない<field name>を参照しています。
  • admin.E020filter_vertical[n]/filter_horizontal[n]の値は多対多のフィールドである必要があります。
  • admin.E021radio_fieldsの値は辞書である必要があります。
  • admin.E022radio_fieldsの値は、<model>の属性ではない<field name>を参照しています。
  • admin.E023radio_fieldsの値は、<field name>を参照します。これは、ForeignKeyのインスタンスではなく、 [ X128X]の定義。
  • admin.E024radio_fields[<field name>]の値は、admin.HORIZONTALまたはadmin.VERTICALのいずれかである必要があります。
  • admin.E025view_on_siteの値は、呼び出し可能値またはブール値のいずれかである必要があります。
  • admin.E026prepopulated_fieldsの値は辞書である必要があります。
  • admin.E027prepopulated_fieldsの値は、<model>の属性ではない<field name>を参照しています。
  • admin.E028prepopulated_fieldsの値は、<field name>を参照します。これは、DateTimeFieldForeignKey、[ X111X] 、またはManyToManyFieldフィールド。
  • admin.E029prepopulated_fields[<field name>]の値はリストまたはタプルである必要があります。
  • admin.E030prepopulated_fieldsの値は、<model>の属性ではない<field name>を参照しています。
  • admin.E031orderingの値はリストまたはタプルである必要があります。
  • admin.E032orderingの値には、ランダムな順序付けマーカー?がありますが、他のフィールドも含まれています。
  • admin.E033orderingの値は、<model>の属性ではない<field name>を参照しています。
  • admin.E034readonly_fieldsの値はリストまたはタプルである必要があります。
  • admin.E035readonly_fields[n]の値は、呼び出し可能、<ModelAdmin class>の属性、または<model>の属性ではありません。
  • admin.E036autocomplete_fieldsの値はリストまたはタプルである必要があります。
  • admin.E037autocomplete_fields[n]の値は、<model>の属性ではない<field name>を参照しています。
  • admin.E038autocomplete_fields[n]の値は、外部キーまたは多対多フィールドである必要があります。
  • admin.E039 :モデル<model>の管理者は、<modeladmin>.autocomplete_fieldsによって参照されるように登録する必要があります。
  • admin.E040<modeladmin>は、<other_modeladmin>.autocomplete_fieldsによって参照されるため、search_fieldsを定義する必要があります。

ModelAdmin

次のチェックは、管理サイトに登録されている ModelAdmin に対して実行されます。

  • admin.E101save_asの値はブール値である必要があります。
  • admin.E102save_on_topの値はブール値である必要があります。
  • admin.E103inlinesの値はリストまたはタプルである必要があります。
  • admin.E104<InlineModelAdmin class>InlineModelAdminから継承する必要があります。
  • admin.E105<InlineModelAdmin class>にはmodel属性が必要です。
  • admin.E106<InlineModelAdmin class>.modelの値はModelである必要があります。
  • admin.E107list_displayの値はリストまたはタプルである必要があります。
  • admin.E108list_display[n]の値は、呼び出し可能ではない<label><ModelAdmin class>の属性、または上の属性またはメソッドを参照します<model>
  • admin.E109list_display[n]の値はManyToManyFieldフィールドであってはなりません。
  • admin.E110list_display_linksの値は、リスト、タプル、またはNoneである必要があります。
  • admin.E111list_display_links[n]の値は、list_displayで定義されていない<label>を参照します。
  • admin.E112list_filterの値はリストまたはタプルである必要があります。
  • admin.E113list_filter[n]の値は、ListFilterから継承する必要があります。
  • admin.E114list_filter[n]の値はFieldListFilterから継承してはなりません。
  • admin.E115list_filter[n][1]の値は、FieldListFilterから継承する必要があります。
  • admin.E116list_filter[n]の値は、フィールドを参照しない<label>を参照します。
  • admin.E117list_select_relatedの値は、ブール値、タプル、またはリストである必要があります。
  • admin.E118list_per_pageの値は整数である必要があります。
  • admin.E119list_max_show_allの値は整数である必要があります。
  • admin.E120list_editableの値はリストまたはタプルである必要があります。
  • admin.E121list_editable[n]の値は、<model>の属性ではない<label>を参照しています。
  • admin.E122list_editable[n]の値は、list_displayに含まれていない<label>を参照します。
  • admin.E123list_editable[n]の値をlist_editablelist_display_linksの両方に含めることはできません。
  • admin.E124list_editable[n]の値は、list_display<label>)の最初のフィールドを参照します。これは、list_display_linksでなければ使用できません。 ]が設定されます。
  • admin.E125list_editable[n]の値は、<field name>を参照しており、管理者は編集できません。
  • admin.E126search_fieldsの値はリストまたはタプルである必要があります。
  • admin.E127date_hierarchyの値は、フィールドを参照しない<field name>を参照します。
  • admin.E128date_hierarchyの値はDateFieldまたはDateTimeFieldである必要があります。
  • admin.E129<modeladmin>は、<action>アクションのhas_<foo>_permission()メソッドを定義する必要があります。
  • admin.E130<modeladmin>で定義されたアクションの__name__属性は一意である必要があります。 名前<name>は一意ではありません。


InlineModelAdmin

以下のチェックは、 ModelAdmin にインラインとして登録されている InlineModelAdmin に対して実行されます。

  • admin.E201 :フィールド<field name>は、親モデル<app_label>.<model>への外部キーであるため、除外できません。
  • admin.E202<model>にはForeignKeyから<parent model>がありません。/<model>には複数のForeignKeyがあります。 <parent model>fk_name属性を指定する必要があります。
  • admin.E203extraの値は整数である必要があります。
  • admin.E204max_numの値は整数である必要があります。
  • admin.E205min_numの値は整数である必要があります。
  • admin.E206formsetの値は、BaseModelFormSetから継承する必要があります。


GenericInlineModelAdmin

次のチェックは、 ModelAdmin にインラインとして登録されている GenericInlineModelAdmin に対して実行されます。

  • admin.E301'ct_field'は、<model>のフィールドではない<label>を参照します。
  • admin.E302'ct_fk_field'は、<model>のフィールドではない<label>を参照します。
  • admin.E303<model>にはGenericForeignKeyがありません。
  • admin.E304<model>には、コンテンツタイプフィールド<field name>とオブジェクトIDフィールド<field name>を使用するGenericForeignKeyがありません。


AdminSite

次のチェックは、デフォルトの AdminSite で実行されます。


auth

  • auth.E001REQUIRED_FIELDSはリストまたはタプルである必要があります。
  • auth.E002 :カスタムユーザーモデルのUSERNAME_FIELDという名前のフィールドは、REQUIRED_FIELDSに含めないでください。
  • auth.E003<field>は、USERNAME_FIELDという名前であるため、一意である必要があります。
  • auth.W004<field>USERNAME_FIELDという名前ですが、一意ではありません。
  • auth.E005 :コードネーム<codename>のアクセス許可が、モデル<model>の組み込みアクセス許可と衝突します。
  • auth.E006 :コードネーム<codename>のパーミッションがモデル<model>に複製されています。
  • auth.E007 :モデル<model>verbose_name は、組み込みのパーミッション名を最大255文字にするために、最大244文字である必要があります。
  • auth.E008 :モデル<model><name>という名前の権限が255文字を超えています。
  • auth.C009<User model>.is_anonymousは、メソッドではなく属性またはプロパティである必要があります。 匿名ユーザーは認証済みとして扱われるため、これを無視するとセキュリティの問題になります。
  • auth.C010<User model>.is_authenticatedは、メソッドではなく属性またはプロパティである必要があります。 匿名ユーザーは認証済みとして扱われるため、これを無視するとセキュリティの問題になります。
  • auth.E011 :モデル<model>の名前は、組み込みの権限名を最大100文字にするために、最大93文字である必要があります。
  • auth.E012 :モデル<model>のコードネーム<codename>のパーミッションが100文字を超えています。


contenttypes

モデルに GenericForeignKey または GenericRelation が含まれている場合、次のチェックが実行されます。

  • contenttypes.E001GenericForeignKeyオブジェクトIDは、存在しないフィールド<field>を参照します。
  • contenttypes.E002GenericForeignKeyコンテンツタイプは、存在しないフィールド<field>を参照します。
  • contenttypes.E003<field>ForeignKeyではありません。
  • contenttypes.E004<field>ForeignKeyからcontenttypes.ContentTypeではありません。
  • contenttypes.E005 :モデル名は最大100文字である必要があります。


postgres

django.contrib.postgres モデルフィールドで次のチェックが実行されます。

  • postgres.E001 :配列のベースフィールドにエラーがあります:…
  • postgres.E002 :配列のベースフィールドを関連フィールドにすることはできません。
  • postgres.E003<field>のデフォルトは、すべてのフィールドインスタンス間で共有されないように、インスタンスではなく呼び出し可能である必要があります。 このチェックは、Django 3.1 fields.E010 に変更されました。


sites

CurrentSiteManager を使用して、すべてのモデルで次のチェックが実行されます。

  • sites.E001CurrentSiteManager<field name>という名前のフィールドを見つけることができませんでした。
  • sites.E002CurrentSiteManagerは、外部キーまたは多対多フィールドではないため、<field>を使用できません。

次のチェックは、 django.contrib.sites が正しく構成されていることを確認します。


staticfiles

次のチェックは、 django.contrib.staticfiles が正しく構成されていることを確認します。