{"title":"O framework de verificação do sistema.","version":"1.9","locale":"pt-br","docname":"ref/checks","url":"/pt-br/1.9/ref/checks/","canonical":"https://djangodocs.dev/pt-br/1.9/ref/checks/","summary":"O framework de verificação do sistema é um conjunto de verificações estáticas para validação de projetos Django. Ele detecta problemas comuns e fornece dicas de…","html":"<h1>O framework de verificação do sistema.<a class=\"heading-anchor\" href=\"#system-check-framework\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>O framework de verificação do sistema é um conjunto de verificações estáticas para validação de projetos Django. Ele detecta problemas comuns e fornece dicas de como arrumá-los. O framework é extensível e você pode facilmente adicionar suas próprias validações.</p>\n<p>Para detalhes de como adicionar suas próprias verificações e integrar isso com os sistema de verificação do Django, veja o <a class=\"reference internal\" href=\"/pt-br/1.9/topics/checks/\"><span class=\"doc\">Tópico  sistema de verificação do giua.</span></a>.</p>\n<section id=\"api-reference\">\n<h2>Referência da API<a class=\"heading-anchor\" href=\"#api-reference\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"checkmessage\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">CheckMessage</span></code><a class=\"heading-anchor\" href=\"#checkmessage\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.checks.CheckMessage\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">CheckMessage</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">level</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">msg</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">hint</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">obj</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">id</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.checks.CheckMessage\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Os alertas e erros emitidos pelo sistema de verificação devem ser uma instância de <code class=\"docutils literal notranslate\"><span class=\"pre\">CheckMessage</span></code>. Uma instância encapsula um único erro ou aviso. Ele também fornece contexto e dicas aplicáveia a mensagem,  e um identificador único que é usado para propósitos de filtragem.</p>\n<p>Os argumentos do Construtor são:</p>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">level</span></code></dt><dd><p>A gravidade da mensagem. Use um dos valores pré-definidos: <code class=\"docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">INFO</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">WARNING</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">CRITICAL</span></code>. Se o nível é maior ou igual a <code class=\"docutils literal notranslate\"><span class=\"pre\">ERROR`,</span> <span class=\"pre\">então</span> <span class=\"pre\">o</span> <span class=\"pre\">Django</span> <span class=\"pre\">irá</span> <span class=\"pre\">impedir</span> <span class=\"pre\">que</span> <span class=\"pre\">comandos</span> <span class=\"pre\">de</span> <span class=\"pre\">gerenciamento</span> <span class=\"pre\">sejam</span> <span class=\"pre\">exeutados.</span> <span class=\"pre\">Mensagens</span> <span class=\"pre\">com</span> <span class=\"pre\">nível</span> <span class=\"pre\">menor</span> <span class=\"pre\">que</span> <span class=\"pre\">``ERROR</span></code> (ex. alertas) são reportados no console, mas pode ser silenciados.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">msg</span></code></dt><dd><p>Uma string curta (menor que 80 caracetres) descrevendo o problema. A string não deve conter outras linhas.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">hint</span></code></dt><dd><p>Uma string de uma única linha que forneça uma dica para arrumar o problema. Se não pode ser fornecida uma dica, ou a dica é auto-evidente baseado na mensagem de erro, a dica pode ser omitida, ou o valor <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> pode ser usado.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">obj</span></code></dt><dd><p>Opcional. Um objeto que fornece um contexto para a mensagem (por exemplo, o modelo onde o problema foi descoberto). O objeto deve ser um modelo, campo, ou “manager” ou outro objeto que define o método <code class=\"docutils literal notranslate\"><span class=\"pre\">__str__</span></code> (no Python 2 você precisa definir o método <code class=\"docutils literal notranslate\"><span class=\"pre\">__unicode__</span></code>). O método é usado enquanto relata todas as mesagens e seus resultados precedem a mensagem.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">id</span></code></dt><dd><p>String opcional. Um identificador único para esse problema. Identificadores devem seguir o formato padrão <code class=\"docutils literal notranslate\"><span class=\"pre\">applabel.X001</span></code>, onde <code class=\"docutils literal notranslate\"><span class=\"pre\">X</span></code> é uma das letras de <code class=\"docutils literal notranslate\"><span class=\"pre\">CEWID</span></code>, indicando a gravidade da mensagem (<code class=\"docutils literal notranslate\"><span class=\"pre\">C</span></code> para crítico, <code class=\"docutils literal notranslate\"><span class=\"pre\">E</span></code> para erro e assim por diante). O número pode ser alocado pela aplicação, mas deve ser único dentro daquela aplicação.</p>\n</dd>\n</dl>\n<p>Existem subclasses para tornar a criação de mensagens de níveis comuns mais fácil. Quando usá-los você pode omitir o argumento <code class=\"docutils literal notranslate\"><span class=\"pre\">level</span></code> porque ele está implícito no nome da classe.</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.checks.Debug\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Debug</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">msg</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">hint</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">obj</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">id</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.checks.Debug\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.checks.Info\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Info</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">msg</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">hint</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">obj</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">id</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.checks.Info\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.checks.Warning\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Warning</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">msg</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">hint</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">obj</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">id</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.checks.Warning\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.checks.Error\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Error</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">msg</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">hint</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">obj</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">id</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.checks.Error\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.checks.Critical\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Critical</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">msg</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">hint</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">obj</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">id</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.checks.Critical\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n</section>\n</section>\n<section id=\"builtin-checks\">\n<h2>Verificações embutidas<a class=\"heading-anchor\" href=\"#builtin-checks\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"builtin-tags\">\n<span id=\"system-check-builtin-tags\"></span><h3>Tags embutidas<a class=\"heading-anchor\" href=\"#builtin-tags\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>As verificações do sistema do Django estão organizadas usando as seguintes tags:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">models</span></code>: verificações no âmbito de modelo, campo e definições de “managers”.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">signals</span></code>: verifica sobre declarações de “signals” e com o registro dos manipuladores.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">admin</span></code>: verifica qualquer declarações do “admin site”.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">compatibility</span></code>: indica problemas potenciais com atualizações de versões.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">security</span></code>: verifica configurações relacionadas com segurança.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">templates</span></code>: verifica configuração relacionadas a templates.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">caches</span></code>: Verifica configuração relacionada a cache.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">urls</span></code>: verifica a configuração da URL.</p></li>\n</ul>\n<p>Algumas verificações talvez sejam registradas com múltiplas tags.</p>\n</section>\n<section id=\"core-system-checks\">\n<h3>Verificações do núcleo do sistema<a class=\"heading-anchor\" href=\"#core-system-checks\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"models\">\n<h4>Models<a class=\"heading-anchor\" href=\"#models\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h4>\n<ul class=\"simple\">\n<li><p><strong>models.E001</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;swappable&gt;</span></code> não está no formato <code class=\"docutils literal notranslate\"><span class=\"pre\">app_label.app_name</span></code>.</p></li>\n<li><p><strong>models.E002</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;SETTING&gt;</span></code> referencia <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>, o qual nao foi instalado, ou é abstrato.</p></li>\n<li><p><strong>models.E003</strong>: O modelo tem duas relações muitos-para-muitos através de um modelo intermediário <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;app_label&gt;.&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>models.E004</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">id</span></code> somente pode ser usado como nome de um campo se o campo também definir <code class=\"docutils literal notranslate\"><span class=\"pre\">primary_key=True</span></code>.</p></li>\n<li><p><strong>models.E005</strong>: O campo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code> do modelo pai <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code> colide com o campo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code> do modelo pai <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>models.E006</strong>: O campo colide com o campo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code> do modelo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>models.E007</strong>: Campo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code> tem o nome de coluna <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;column</span> <span class=\"pre\">name&gt;</span></code> que é usado por outro campo.</p></li>\n<li><p><strong>models.E008</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">index_together</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>models.E009</strong>: Todos os elementos <code class=\"docutils literal notranslate\"><span class=\"pre\">index_together</span></code> devem ser uma lista de tuplas.</p></li>\n<li><p><strong>models.E010</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">unique_together</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>models.E011</strong>: Todos os elementos de <code class=\"docutils literal notranslate\"><span class=\"pre\">unique_together</span></code> devem ser uma lista de tuplas.</p></li>\n<li><p><strong>models.E012</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">index_together/unique_together</span></code> referenciam ao campo não existente <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>.</p></li>\n<li><p><strong>models.E013</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">index_together/unique_together</span></code> referen-se a um <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code> <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>, mas <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code>s não são suportados para aquela opção.</p></li>\n<li><p><strong>models.E014</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">ordering</span></code> deve ser uma tupla ou listat (mesmo que você queira ordernar por um único campo).</p></li>\n<li><p><strong>models. E015</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">ordering</span></code> referencia ao campo não existente <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>.</p></li>\n<li><p><strong>models.E016</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">index_together/unique_together</span></code> refere-se ao campo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field_name&gt;</span></code> o qual não é local ao modelo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>models.E017</strong>: O modelo proxy <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code> cotém campos de modelo.</p></li>\n<li><p><strong>models.E018</strong>: Nome de coluna gerado automaticamente é muito longo para o campo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field&gt;</span></code>. O comprimento máximo é <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;maximum</span> <span class=\"pre\">length&gt;</span></code> para o banco de dados <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;alias&gt;</span></code>.</p></li>\n<li><p><strong>models.E019</strong>: Nome de campo gerado automaticamente para o campo M2M <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;M2M</span> <span class=\"pre\">field&gt;</span></code> é muito longo. O comprimento máximo é <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;maximum</span> <span class=\"pre\">length&gt;</span></code> para o banco de dados <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;alias&gt;</span></code>.</p></li>\n<li><p><strong>models.E020</strong>: The <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;.check()</span></code> método da classe está neste momento sobrescrito.</p></li>\n<li><p><strong>models.E021</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">ordering</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">order_with_respect_to</span></code> não podem ser usados juntos.</p></li>\n</ul>\n</section>\n<section id=\"fields\">\n<h4>Campos<a class=\"heading-anchor\" href=\"#fields\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h4>\n<ul class=\"simple\">\n<li><p><strong>fields.E001</strong>: Nomes de campos não devem terminar com “underscore”.</p></li>\n<li><p><strong>fields.E002</strong>: nome de campos não devem conter <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;__&quot;</span></code>.</p></li>\n<li><p><strong>fields.E003</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">pk</span></code> é uma palavra reservada que não pode ser usada como nome de campo.</p></li>\n<li><p><strong>fields.E004</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">choices</span></code> deve ser um iterável (ex.:uma lista de tuplas).</p></li>\n<li><p><strong>fields.E005</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">choices</span></code> deve ser um iterável que retorne tuplas <code class=\"docutils literal notranslate\"><span class=\"pre\">(actual</span> <span class=\"pre\">value,</span> <span class=\"pre\">human</span> <span class=\"pre\">readable</span> <span class=\"pre\">name)</span></code>.</p></li>\n<li><p><strong>fields.E006</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">db_index</span></code> deve ser <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> ou <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>.</p></li>\n<li><p><strong>fields.E007</strong>: Chaves-primárias não devem ter <code class=\"docutils literal notranslate\"><span class=\"pre\">null=True</span></code>.</p></li>\n<li><p><strong>fields.E100</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">AutoField</span></code>s devem setar primary_key=True.</p></li>\n<li><p><strong>fields.E110</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">BooleanField</span></code>s não aceita valores nulos.</p></li>\n<li><p><strong>fields.E120</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">CharField</span></code>s deve definir um atributo <code class=\"docutils literal notranslate\"><span class=\"pre\">max_length</span></code>.</p></li>\n<li><p><strong>fields.E121</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">max_length</span></code> deve ser um inteiro positivo.</p></li>\n<li><p><strong>fields.W122</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">max_length</span></code> é ignorado quando usado com <code class=\"docutils literal notranslate\"><span class=\"pre\">IntegerField</span></code>.</p></li>\n<li><p><strong>fields.E130</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">DecimalField</span></code>s deve definir um atributo <code class=\"docutils literal notranslate\"><span class=\"pre\">decimal_places</span></code>.</p></li>\n<li><p><strong>fields.E131</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">decimal_places</span></code> deve ser um inteiro não negativo.</p></li>\n<li><p><strong>fields.E132</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">DecimalField</span></code>s deve ter um atributo <code class=\"docutils literal notranslate\"><span class=\"pre\">max_digits</span></code>.</p></li>\n<li><p><strong>fields.E133</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">max_digits</span></code> deve ser um inteiro não negativo.</p></li>\n<li><p><strong>fields.E134</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">max_digits</span></code> deve ser igual ou maior que <code class=\"docutils literal notranslate\"><span class=\"pre\">decimal_places</span></code>.</p></li>\n<li><p><strong>fields.E140</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">FilePathField</span></code>s deve ter <code class=\"docutils literal notranslate\"><span class=\"pre\">allow_files</span></code> ou <code class=\"docutils literal notranslate\"><span class=\"pre\">allow_folders</span></code> definidos como True.</p></li>\n<li><p><strong>fields.E150</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">GenericIPAddressField</span></code>s não podem aceitar valores em branco se valores nulos não são permitidos, uma vez que valores em branco são armazenados como nulos.</p></li>\n<li><p><strong>fields.E160</strong>: As opções <code class=\"docutils literal notranslate\"><span class=\"pre\">auto_now</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">auto_now_add</span></code>, e <code class=\"docutils literal notranslate\"><span class=\"pre\">default</span></code> são mutualmente exclusivas. Somente uma destas opções deve estar presente.</p></li>\n<li><p><strong>fields.W161</strong>: Fornecido um valor fixo padrão.</p></li>\n<li><p><strong>fields.E900</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">IPAddressField</span></code> foi removido exceto para suportar migrações históricas.</p></li>\n<li><p><strong>fields.W900</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">IPAddressField</span></code> está obsoleto. O suporte para este (exceto para histórico de migrações) será removido no Django 1.9. <em>Esta verificação apareceu em Django 1.7 and 1.8</em>.</p></li>\n</ul>\n</section>\n<section id=\"file-fields\">\n<h4>Campos para arquivo.<a class=\"heading-anchor\" href=\"#file-fields\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h4>\n<ul class=\"simple\">\n<li><p><strong>fields.E200</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">unique</span></code> não é um argumento válido para um <code class=\"docutils literal notranslate\"><span class=\"pre\">FileField</span></code>.</p></li>\n<li><p><strong>fields.E201</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">primary_key</span></code> não é um argumento válido para um <code class=\"docutils literal notranslate\"><span class=\"pre\">FileField</span></code>.</p></li>\n<li><p><strong>fields.E210</strong>: Não é possível usar <code class=\"docutils literal notranslate\"><span class=\"pre\">ImageField</span></code> porque o Pillow não está instalado.</p></li>\n</ul>\n</section>\n<section id=\"related-fields\">\n<h4>Campos relacionados<a class=\"heading-anchor\" href=\"#related-fields\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h4>\n<ul class=\"simple\">\n<li><p><strong>fields.E300</strong>: Campo define uma relação com o modelo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>, o qual ou não está instalado, ou é abstrato.</p></li>\n<li><p><strong>fields.E301</strong>: Campo define uma relação com o modelo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code> o qual foi trocado.</p></li>\n<li><p><strong>fields.E302</strong>: o método de acesso ao campo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code> colide com o campo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>.</p></li>\n<li><p><strong>fields.E303</strong>: O “reverse query name” para o campo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code> colide com o campo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>.</p></li>\n<li><p><strong>fields.E304</strong>: O nome do campo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code> colide com o método de acesso a <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>.</p></li>\n<li><p><strong>fields.E305</strong>: Nome do campo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code> colide com o “reverse query name” para <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>.</p></li>\n<li><p><strong>fields.E306</strong>: O nome relacionado deve ser um indentificador Python ou terminar com um <code class=\"docutils literal notranslate\"><span class=\"pre\">'+'</span></code>.</p></li>\n<li><p><strong>fields.E310</strong>: Nenhum subconjunto dos campos <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field1&gt;</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field2&gt;</span></code>, … no modelo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code> é único. Adicione <code class=\"docutils literal notranslate\"><span class=\"pre\">unique=True</span></code> em qualquer um daqueles campos ou adicione pelo menos um subconjunto deles a uma regra de unique_together.</p></li>\n<li><p><strong>fields.E311</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code> deve definir <code class=\"docutils literal notranslate\"><span class=\"pre\">unique=True</span></code> porque isso é referenciado por uma <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code>.</p></li>\n<li><p><strong>fields.E320</strong>: Campo especifica <code class=\"docutils literal notranslate\"><span class=\"pre\">on_delete=SET_NULL</span></code>, mas não pode ser nulo.</p></li>\n<li><p><strong>fields.E321</strong>: O campo especifíca <code class=\"docutils literal notranslate\"><span class=\"pre\">on_delete=SET_DEFAULT</span></code>, mas não tem um valor padrão.</p></li>\n<li><p><strong>fields.E330</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code>s  não pode ser único.</p></li>\n<li><p><strong>fields.E331</strong>: O campo especifíca uma relação como muitos-para-muitos através do modelo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>, o qual não foi instalado.</p></li>\n<li><p><strong>fields.E332</strong>: Campos muitos-para-muitos com tabelas intermediárias não podem ser simétricas.</p></li>\n<li><p><strong>fields.E333</strong>: O modelo é usado como um modelo intermediário pelo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>, mas este tem mais de duas chaves estrangeiras para <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>, o que é ambíguo. Você deve especificar qual das duas chaves estrangeiras devem ser usadas pelo Django através do argumento <code class=\"docutils literal notranslate\"><span class=\"pre\">through_fields</span></code>.</p></li>\n<li><p><strong>fields.E334</strong>: O modelo é usado como um modelo intermediário pelo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>, mas este tem mais de uma chave estrangeira para <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>, o que é ambíguo. Você deve especificar qual das duas chaves estrangeiras devem ser usadas pelo Django através do argumento <code class=\"docutils literal notranslate\"><span class=\"pre\">through_fields</span></code>.</p></li>\n<li><p><strong>fields.E335</strong>: O modelo é usado como um modelo intermediário pelo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>, mas este tem mais de uma chave estrangeira para <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>, o que é ambíguo. Você deve especificar qual das duas chaves estrangeiras devem ser usadas pelo Django através do argumento <code class=\"docutils literal notranslate\"><span class=\"pre\">through_fields</span></code>.</p></li>\n<li><p><strong>fields.E336</strong>: O modelo é usado como um modelo intermediário pelo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>, mas este não tem uma chave-estrangeira para <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code> ou <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>fields.E337</strong>: O campo especifíca <code class=\"docutils literal notranslate\"><span class=\"pre\">through_fields</span></code> mas não fornece os nomes dos dois campos de ligação que deve ser usados para a relação através do <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>fields.E338</strong>: O modelo intermediário <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;through</span> <span class=\"pre\">model&gt;</span></code> não tem o campo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>.</p></li>\n<li><p><strong>fields.E339</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;.&lt;field</span> <span class=\"pre\">name&gt;</span></code> não é uma chave estrangeira para <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>fields.W340</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">null</span></code> não tem efeito no <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code>.</p></li>\n<li><p><strong>fields.W341</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code> não dá suporte para <code class=\"docutils literal notranslate\"><span class=\"pre\">validators</span></code>.</p></li>\n<li><p><strong>fields.W342</strong>: Definir <code class=\"docutils literal notranslate\"><span class=\"pre\">unique=True</span></code> para uma <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code> tem o mesmo efeito quanto usar um <code class=\"docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code>.</p></li>\n</ul>\n</section>\n<section id=\"signals\">\n<h4>Signals<a class=\"heading-anchor\" href=\"#signals\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h4>\n<ul class=\"simple\">\n<li><p><strong>signals.E001</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;handler&gt;</span></code> estava conectado ao sinal <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;signal&gt;</span></code> com uma referência preguiçosa para o emissor <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>, o qual não foi instalado.</p></li>\n</ul>\n</section>\n<section id=\"backwards-compatibility\">\n<h4>Comaptibilidades com versões anteriores<a class=\"heading-anchor\" href=\"#backwards-compatibility\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>As seguintes verificações são executadas para alertar o usuário de qualquer problema potencial que possa ocorrer como resultado de uma atualização de versão.</p>\n<ul class=\"simple\">\n<li><p><strong>1_6.W001</strong>: Alguns testes unitários do projeto podem não ser executados como esperado. <em>Esta verificação foi removida do Django 1.8 devido a falsos positivos</em>.</p></li>\n<li><p><strong>1_6.W002</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">BooleanField</span></code> não tem um valor padrão. <em>Esta verificação foi removida do Django 1.8 devido a falsos positivos</em>.</p></li>\n<li><p><strong>1_7.W001</strong>:  Django 1.7 mudou os valores padrão para as <code class=\"docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE_CLASSES.</span></code> <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.sessions.middleware.SessionMiddleware</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.middleware.AuthenticationMiddleware</span></code>, e <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.messages.middleware.MessageMiddleware</span></code> foram removidas dos valores padrão. Se seu projeto precisa dessas definições você deve configurar essa definição. <em>Essa verificação foi removida no Django 1.9</em>.</p></li>\n<li><p><strong>1_8.W001</strong>: A definição autônoma <code class=\"docutils literal notranslate\"><span class=\"pre\">TEMPLATE_*</span></code> está obsoleta no Django 1.8 e o dicionário <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-TEMPLATES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">TEMPLATES</span></code></a> tem precedência. Você deve colocar os valores das seguintes definições nos seus valores padrão de <code class=\"docutils literal notranslate\"><span class=\"pre\">TEMPLATES</span></code> dict: <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-TEMPLATE_DIRS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">TEMPLATE_DIRS</span></code></a>, <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-ALLOWED_INCLUDE_ROOTS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">ALLOWED_INCLUDE_ROOTS</span></code></a>, <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-TEMPLATE_CONTEXT_PROCESSORS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">TEMPLATE_CONTEXT_PROCESSORS</span></code></a>, <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-TEMPLATE_DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">TEMPLATE_DEBUG</span></code></a>, <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-TEMPLATE_LOADERS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">TEMPLATE_LOADERS</span></code></a>, <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-TEMPLATE_STRING_IF_INVALID\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">TEMPLATE_STRING_IF_INVALID</span></code></a>.</p></li>\n</ul>\n</section>\n</section>\n<section id=\"admin\">\n<h3>Admin<a class=\"heading-anchor\" href=\"#admin\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Verificações do Admin são todas realizadas como parte da etiqueta <code class=\"docutils literal notranslate\"><span class=\"pre\">admin</span></code>.</p>\n<p>As seguintes verificações sào realizadas em qualquer <a class=\"reference internal\" href=\"/pt-br/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin\" title=\"django.contrib.admin.ModelAdmin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelAdmin</span></code></a> (ou subclasse) que está registrada com o site Admin:</p>\n<ul class=\"simple\">\n<li><p><strong>admin.E001</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">raw_id_fields</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>admin.E002</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">raw_id_fields[n]</span></code> referencia ao <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>, o qual não é um atributo do <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>admin.E003</strong>: O valor do <code class=\"docutils literal notranslate\"><span class=\"pre\">raw_id_fields[n]</span></code> deve ser uma <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code> ou <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code>.</p></li>\n<li><p><strong>admin.E004</strong>: O valor do <code class=\"docutils literal notranslate\"><span class=\"pre\">fields</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>admin.E005</strong>: Ambos <code class=\"docutils literal notranslate\"><span class=\"pre\">fieldsets</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">fields</span></code> são especificados.</p></li>\n<li><p><strong>admin.E006</strong>: O valor do <code class=\"docutils literal notranslate\"><span class=\"pre\">fields</span></code> contém campo(s) duplicados.</p></li>\n<li><p><strong>admin.E007</strong>: O valor do <code class=\"docutils literal notranslate\"><span class=\"pre\">fieldsets</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>admin.E008</strong>: O valor do <code class=\"docutils literal notranslate\"><span class=\"pre\">fieldsets[n]</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>admin.E009</strong>: O valor do <code class=\"docutils literal notranslate\"><span class=\"pre\">fieldsets[n]</span></code> deve ter o comprimento igual a 2.</p></li>\n<li><p><strong>admin.E010</strong>: O valor do <code class=\"docutils literal notranslate\"><span class=\"pre\">fieldsets[n][1]</span></code> deve ser um dicionário.</p></li>\n<li><p><strong>admin.E011</strong>: O valor do <code class=\"docutils literal notranslate\"><span class=\"pre\">fieldsets[n][1]</span></code> deve conter a chave <code class=\"docutils literal notranslate\"><span class=\"pre\">fields</span></code>.</p></li>\n<li><p><strong>admin.E012</strong>: Existem campo(s) ducplicados em <code class=\"docutils literal notranslate\"><span class=\"pre\">fieldsets[n][1]</span></code>.</p></li>\n<li><p><strong>admin.E013</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">fields[n]/fieldsets[n][m]</span></code> não pode incluir o <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code> <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>, porque o campo especifica manualmente um modelo de relação .</p></li>\n<li><p><strong>admin.E014</strong>: O valor do <code class=\"docutils literal notranslate\"><span class=\"pre\">exclude</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>admin.E015</strong>: O valor do <code class=\"docutils literal notranslate\"><span class=\"pre\">exclude</span></code> contém campos duplicado(s).</p></li>\n<li><p><strong>admin.E016</strong>: O valor do <code class=\"docutils literal notranslate\"><span class=\"pre\">form</span></code> deve herdar de <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseModelForm</span></code>.</p></li>\n<li><p><strong>admin.E017</strong>: O valor do <code class=\"docutils literal notranslate\"><span class=\"pre\">filter_vertical</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>admin.E018</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">filter_horizontal</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>admin.E019</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">filter_vertical[n]/filter_vertical[n]</span></code> refere ao <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>, o qual não é um atributo do <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>admin.E020</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">filter_vertical[n]/filter_vertical[n]</span></code> deve ser um <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code>.</p></li>\n<li><p><strong>admin.E021</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">radio_fields</span></code> deve ser um dicionário.</p></li>\n<li><p><strong>admin.E022</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">radio_fields</span></code> refers to <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>, o qual não é um atributo de <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>admin.E023</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">radio_fields</span></code> referencia a <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>, o qual não é uma <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code>, e não tem uma definição de <code class=\"docutils literal notranslate\"><span class=\"pre\">choices</span></code>.</p></li>\n<li><p><strong>admin.E024</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">radio_fields[&lt;field</span> <span class=\"pre\">name&gt;]</span></code> deve ser <code class=\"docutils literal notranslate\"><span class=\"pre\">admin.HORIZONTAL</span></code> ou <code class=\"docutils literal notranslate\"><span class=\"pre\">admin.VERTICAL</span></code>.</p></li>\n<li><p><strong>admin.E025</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">view_on_site</span></code> deve ser um “callable” ou um booleano.</p></li>\n<li><p><strong>admin.E026</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">prepopulated_fields</span></code> deve ser um dicionário.</p></li>\n<li><p><strong>admin.E027</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">prepopulated_fields</span></code> referencia a <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>, o qual não é um atributo de <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>admin.E028</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">prepopulated_fields</span></code> referencia a <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>, o qual não deve ser um <code class=\"docutils literal notranslate\"><span class=\"pre\">DateTimeField</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code> ou <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code>.</p></li>\n<li><p><strong>admin.E029</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">prepopulated_fields[&lt;field</span> <span class=\"pre\">name&gt;]</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>admin.E030</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">prepopulated_fields</span></code> referencia a <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>, o qual não é um atributo de <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>admin.E031</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">ordering</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>admin.E032</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">ordering</span></code> tem o operador para ordem randômica <code class=\"docutils literal notranslate\"><span class=\"pre\">?</span></code>, mas contém outros campos também.</p></li>\n<li><p><strong>admin.E033</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">ordering</span></code> referencia a <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>, o qual não é um atributo de <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>admin.E034</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">readonly_fields</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>admin.E035</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">readonly_fields[n]</span></code> não é um “callable”, um atributo da <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;ModelAdmin</span> <span class=\"pre\">class&gt;</span></code>, ou um atributo do <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n</ul>\n<section id=\"modeladmin\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin</span></code><a class=\"heading-anchor\" href=\"#modeladmin\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>A verificações seguintes são realizadas para qualquer <a class=\"reference internal\" href=\"/pt-br/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin\" title=\"django.contrib.admin.ModelAdmin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelAdmin</span></code></a> que é registrada com site Admin:</p>\n<ul class=\"simple\">\n<li><p><strong>admin.E101</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">save_as</span></code> deve ser um booleano.</p></li>\n<li><p><strong>admin.E102</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">save_on_top</span></code> deve ser um booleano.</p></li>\n<li><p><strong>admin.E103</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">inlines</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>admin.E104</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;InlineModelAdmin</span> <span class=\"pre\">class&gt;</span></code> deve herdar de <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseModelAdmin</span></code>.</p></li>\n<li><p><strong>admin.E105</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;InlineModelAdmin</span> <span class=\"pre\">class&gt;</span></code> deve ter um atributo <code class=\"docutils literal notranslate\"><span class=\"pre\">model</span></code>.</p></li>\n<li><p><strong>admin.E106</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;InlineModelAdmin</span> <span class=\"pre\">class&gt;.model</span></code> deve ser um <code class=\"docutils literal notranslate\"><span class=\"pre\">Model</span></code>.</p></li>\n<li><p><strong>admin.E107</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_display</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>admin.E108</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_display[n]</span></code> referencia a <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;label&gt;</span></code>, o qual não é um “callable”,  um atributo de <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;ModelAdmin</span> <span class=\"pre\">class&gt;</span></code>, ou um atributo ou método do <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>admin.E109</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_display[n]</span></code> não deve ser um <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code>.</p></li>\n<li><p><strong>admin.E110</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_display_links</span></code> deve ser uma lista, uma tupla, ou <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p></li>\n<li><p><strong>admin.E111</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_display_links[n]</span></code> referencia a <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;label&gt;</span></code>, o qual não é definido na <code class=\"docutils literal notranslate\"><span class=\"pre\">list_display</span></code>.</p></li>\n<li><p><strong>admin.E112</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_filter</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>admin.E113</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_filter[n]</span></code> deve herdar de <code class=\"docutils literal notranslate\"><span class=\"pre\">ListFilter</span></code>.</p></li>\n<li><p><strong>admin.E114</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_filter[n]</span></code> não deve herdar de <code class=\"docutils literal notranslate\"><span class=\"pre\">FieldListFilter</span></code>.</p></li>\n<li><p><strong>admin.E115</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_filter[n][1]</span></code> deve herdar de <code class=\"docutils literal notranslate\"><span class=\"pre\">FieldListFilter</span></code>.</p></li>\n<li><p><strong>admin.E116</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_filter[n]</span></code> refere a <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;label&gt;</span></code>, o qual não refere a um campo.</p></li>\n<li><p><strong>admin.E117</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_select_related</span></code> deve ser um booleano, tuplas ou lista.</p></li>\n<li><p><strong>admin.E118</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_per_page</span></code> deve ser um inteiro.</p></li>\n<li><p><strong>admin.E119</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_max_show_all</span></code> deve ser um inteiro.</p></li>\n<li><p><strong>admin.E120</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_editable</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>admin.E121</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_editable[n]</span></code> referencia a <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;label&gt;</span></code>, o qual não é um atributo de <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>admin.E122</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_editable[n]</span></code> refere a <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;label&gt;</span></code>, o qual não está contido em <code class=\"docutils literal notranslate\"><span class=\"pre\">list_display</span></code>.</p></li>\n<li><p><strong>admin.E123</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_editable[n]</span></code> não pode estar em ambos <code class=\"docutils literal notranslate\"><span class=\"pre\">list_editable</span></code> e <code class=\"docutils literal notranslate\"><span class=\"pre\">list_display_links</span></code>.</p></li>\n<li><p><strong>admin.E124</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_editable[n]</span></code> refere ao primeiro campo em <code class=\"docutils literal notranslate\"><span class=\"pre\">list_display</span></code> (<code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;label&gt;</span></code>), o qual não pode ser usado a menos que <code class=\"docutils literal notranslate\"><span class=\"pre\">list_display_links</span></code> seja definido.</p></li>\n<li><p><strong>admin.E125</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">list_editable[n]</span></code> refere a <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>, o qual não é editável através do admin.</p></li>\n<li><p><strong>admin.E126</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">search_fields</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>admin.E127</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">date_hierarchy</span></code> referencia a <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>, o qual não é um atributo de <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>admin.E128</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">date_hierarchy</span></code> deve ser um <code class=\"docutils literal notranslate\"><span class=\"pre\">DateField</span></code> ou <code class=\"docutils literal notranslate\"><span class=\"pre\">DateTimeField</span></code>.</p></li>\n</ul>\n</section>\n<section id=\"inlinemodeladmin\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">InlineModelAdmin</span></code><a class=\"heading-anchor\" href=\"#inlinemodeladmin\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>As verificações seguintes são realizadas em qualquer <a class=\"reference internal\" href=\"/pt-br/1.9/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin\" title=\"django.contrib.admin.InlineModelAdmin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">InlineModelAdmin</span></code></a> que esteja registrado como uma “inline” na <a class=\"reference internal\" href=\"/pt-br/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin\" title=\"django.contrib.admin.ModelAdmin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelAdmin</span></code></a>.</p>\n<ul class=\"simple\">\n<li><p><strong>admin.E201</strong>: Não pode excluir o campo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>, porque ele é a chave-estrangeira para o modelo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;app_label&gt;.&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>admin.E202</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code> não tem <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code> para <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;parent</span> <span class=\"pre\">model&gt;</span></code>./ <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code> tem mais de um <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code> para <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;parent</span> <span class=\"pre\">model&gt;</span></code>.</p></li>\n<li><p><strong>admin.E203</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">extra</span></code> deve ser um inteiro.</p></li>\n<li><p><strong>admin.E204</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">max_num</span></code> deve ser um inteiro.</p></li>\n<li><p><strong>admin.E205</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">min_num</span></code> deve ser um inteiro.</p></li>\n<li><p><strong>admin.E206</strong>: O valor de <code class=\"docutils literal notranslate\"><span class=\"pre\">formset</span></code> deve herdar de <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseModelFormSet</span></code>.</p></li>\n</ul>\n</section>\n<section id=\"genericinlinemodeladmin\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">GenericInlineModelAdmin</span></code><a class=\"heading-anchor\" href=\"#genericinlinemodeladmin\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>As seguintes verificações são realizadas sobre qualquer <a class=\"reference internal\" href=\"/pt-br/1.9/ref/contrib/contenttypes/#django.contrib.contenttypes.admin.GenericInlineModelAdmin\" title=\"django.contrib.contenttypes.admin.GenericInlineModelAdmin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GenericInlineModelAdmin</span></code></a> que esteja registrado como “inline” no <a class=\"reference internal\" href=\"/pt-br/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin\" title=\"django.contrib.admin.ModelAdmin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelAdmin</span></code></a>.</p>\n<ul class=\"simple\">\n<li><p><strong>admin.E301</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'ct_field'</span></code> referencia a <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;label&gt;</span></code>, o qual não é um campo no <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>admin.E302</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">'ct_fk_field'</span></code> referencia <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;label&gt;</span></code>, o qual não é um campo no <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code>.</p></li>\n<li><p><strong>admin.E303</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code> não tem <code class=\"docutils literal notranslate\"><span class=\"pre\">GenericForeignKey</span></code>.</p></li>\n<li><p><strong>admin.E304</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;model&gt;</span></code> não tem <code class=\"docutils literal notranslate\"><span class=\"pre\">GenericForeignKey</span></code> usando o campo de tipo de conteúdo <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code> e um campo de ID do objeto <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>.</p></li>\n</ul>\n</section>\n</section>\n<section id=\"auth\">\n<h3>Autenticação<a class=\"heading-anchor\" href=\"#auth\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<ul class=\"simple\">\n<li><p><strong>auth.E001</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">REQUIRED_FIELDS</span></code> deve ser uma lista de tuplas.</p></li>\n<li><p><strong>auth.E002</strong>: O campo definido como <code class=\"docutils literal notranslate\"><span class=\"pre\">USERNAME_FIELD</span></code> para um modelo de usuário personalizado não deve ser incluído no <code class=\"docutils literal notranslate\"><span class=\"pre\">REQUIRED_FIELDS</span></code>.</p></li>\n<li><p><strong>auth.E003</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field&gt;</span></code> deve ser único porque ele está definido como <code class=\"docutils literal notranslate\"><span class=\"pre\">USERNAME_FIELD</span></code>.</p></li>\n<li><p><strong>auth.W004</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field&gt;</span></code> é definido como o <code class=\"docutils literal notranslate\"><span class=\"pre\">USERNAME_FIELD</span></code>, mas não é único.</p></li>\n</ul>\n</section>\n<section id=\"content-types\">\n<h3>Tipos de Conteúdo<a class=\"heading-anchor\" href=\"#content-types\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>As verificação seguintes são realizadas quando um modelo contém um <a class=\"reference internal\" href=\"/pt-br/1.9/ref/contrib/contenttypes/#django.contrib.contenttypes.fields.GenericForeignKey\" title=\"django.contrib.contenttypes.fields.GenericForeignKey\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GenericForeignKey</span></code></a> ou <a class=\"reference internal\" href=\"/pt-br/1.9/ref/contrib/contenttypes/#django.contrib.contenttypes.fields.GenericRelation\" title=\"django.contrib.contenttypes.fields.GenericRelation\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GenericRelation</span></code></a>:</p>\n<ul class=\"simple\">\n<li><p><strong>contenttypes.E001</strong>: A <code class=\"docutils literal notranslate\"><span class=\"pre\">GenericForeignKey</span></code> object ID referencia um campo não existente <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field&gt;</span></code>.</p></li>\n<li><p><strong>contenttypes.E002</strong>: O tipo de conteúdo <code class=\"docutils literal notranslate\"><span class=\"pre\">GenericForeignKey</span></code> referencia o campo não existente <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field&gt;</span></code>.</p></li>\n<li><p><strong>contenttypes.E003</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field&gt;</span></code> não é uma <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code>.</p></li>\n<li><p><strong>contenttypes.E004</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field&gt;</span></code> não é uma <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code> para <code class=\"docutils literal notranslate\"><span class=\"pre\">contenttypes.ContentType</span></code>.</p></li>\n</ul>\n</section>\n<section id=\"security\">\n<h3>Segurança<a class=\"heading-anchor\" href=\"#security\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>As verificações de segurança, não tornam o seu site seguro. Elas não auditam código, não fazem detecção de intrusos ou nada complexo. Ao invés disso, elas ajudam a realizar uma verificação automática dos “frutos mais fáceis de colher”. Elas ajudam a lembrar de coisas simples que melhoram a segurança do seu site.</p>\n<p>Algumas dessas verificações talvez não sejam apropriadas para uma configuração de implantação particular. Por exemlo, se você faz redirecionamento do HTTP para HTTPS em um balanceador de carga, isso pode ser irritante de ser constantemente alertado sobre não ter habilitado o <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SECURE_SSL_REDIRECT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_SSL_REDIRECT</span></code></a>. Use o <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SILENCED_SYSTEM_CHECKS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SILENCED_SYSTEM_CHECKS</span></code></a> para silenciar verificações desnecessárias.</p>\n<p>As seguintes verificações são executadas se você usa a opção <a class=\"reference internal\" href=\"/pt-br/1.9/ref/django-admin/#cmdoption-check-deploy\"><code class=\"xref std std-option docutils literal notranslate\"><span class=\"pre\">check</span> <span class=\"pre\">--deploy</span></code></a>:</p>\n<ul class=\"simple\">\n<li><p><strong>security.W001</strong>: Você não tem <a class=\"reference internal\" href=\"/pt-br/1.9/ref/middleware/#django.middleware.security.SecurityMiddleware\" title=\"django.middleware.security.SecurityMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.middleware.security.SecurityMiddleware</span></code></a> no seu <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-MIDDLEWARE_CLASSES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE_CLASSES</span></code></a> então as definições <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SECURE_HSTS_SECONDS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_HSTS_SECONDS</span></code></a>, <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SECURE_CONTENT_TYPE_NOSNIFF\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_CONTENT_TYPE_NOSNIFF</span></code></a>, <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SECURE_BROWSER_XSS_FILTER\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_BROWSER_XSS_FILTER</span></code></a>, e <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SECURE_SSL_REDIRECT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_SSL_REDIRECT</span></code></a> não tem efeito.</p></li>\n<li><p><strong>security.W002</strong>: Voce não tem <a class=\"reference internal\" href=\"/pt-br/1.9/ref/middleware/#django.middleware.clickjacking.XFrameOptionsMiddleware\" title=\"django.middleware.clickjacking.XFrameOptionsMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.middleware.clickjacking.XFrameOptionsMiddleware</span></code></a> nas suas <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-MIDDLEWARE_CLASSES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE_CLASSES</span></code></a>, então suas páginas não serão servidas com um cabeçalho``’x-frame-options’<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>. A menos que você tenha uma boa razão para que seu site seja servido em um “frame”, você deve considerar este cabeçalho para ajudar a prevenir ataques do tipo “clickjacking”.</p></li>\n<li><p><strong>security.W003</strong>: Aparentemente você não está usando a proteção  contra falsificação de requisição entre sites embitda no Django (<a class=\"reference internal\" href=\"/pt-br/1.9/ref/middleware/#django.middleware.csrf.CsrfViewMiddleware\" title=\"django.middleware.csrf.CsrfViewMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.middleware.csrf.CsrfViewMiddleware</span></code></a> não está nas suas <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-MIDDLEWARE_CLASSES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE_CLASSES</span></code></a>). Habilitando o “middleware” é a saída mais segura para assegurar que não deixou nenhum buraco.</p></li>\n<li><p><strong>security.W004</strong>: Você não definiu um valor para a definição de <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SECURE_HSTS_SECONDS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_HSTS_SECONDS</span></code></a>. Se todo o seu site é servido via SSL, talvez queira considerar definir o valor e habilitar <a class=\"reference internal\" href=\"/pt-br/1.9/ref/middleware/#http-strict-transport-security\"><span class=\"std std-ref\">HTTP Strict Transport Security</span></a>. Tenha certeza de ler a documentação primeiro; habilitando HSTS sem cuidados você pode causar problema sérios e irreversíveis.</p></li>\n<li><p><strong>security.W005</strong>: Você não definiu a definição de  <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SECURE_HSTS_INCLUDE_SUBDOMAINS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_HSTS_INCLUDE_SUBDOMAINS</span></code></a> para <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. Sem isso, seu site está pontencialmente vulnerável a ataques através de uma conexão insegura para um subdomínio. Somente definica como <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> se você está certo de que todos os subdomínios do seu domínio devem ser servidos exclusivamente via SSL.</p></li>\n<li><p><strong>security.W006</strong>: Sua definição para <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SECURE_CONTENT_TYPE_NOSNIFF\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_CONTENT_TYPE_NOSNIFF</span></code></a> não é <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>, então suas páginas não serão servidas com um cabeçalho <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>’x-content-type-options: nosniff’<a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>. Você deve considerar habilitá-lo para prevenir o navegador web de identificar incorretamente tipos de conteúdo.</p></li>\n<li><p><strong>security.W007</strong>: Sua definição do <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SECURE_BROWSER_XSS_FILTER\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_BROWSER_XSS_FILTER</span></code></a> não é <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>, então suas páginas não serão servidas com o cabeçalho <code class=\"docutils literal notranslate\"><span class=\"pre\">'x-xss-protection:</span> <span class=\"pre\">1;</span> <span class=\"pre\">mode=block'</span></code>. Você deve considerar habilitar este cabeçalho para ativar o filtro XSS do navegador web e auxilizar a prevenir ataques XSS.</p></li>\n<li><p><strong>security.W008</strong>: Sua definição para <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SECURE_SSL_REDIRECT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECURE_SSL_REDIRECT</span></code></a> não é <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. A menos que seu site deva estar disponível tanto para conexões SSL quanto para não SSL, você talvez queira definir este como <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> ou configurar o balanceador de carga ou o servidor de proxy reverso para redirecionar todas as conexões para HTTPS.</p></li>\n<li><p><strong>security.W009</strong>: Sua <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SECRET_KEY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECRET_KEY</span></code></a> tem menos de 50 caracteres ou menos de 5 únicos caracteres. Por favor gere um longo e randômico <code class=\"docutils literal notranslate\"><span class=\"pre\">SECRET_KEY</span></code>, de outra meneira muitas das características críticas de seguranças do Django estarão vulneráveis a ataques.</p></li>\n<li><p><strong>security.W010</strong>: Você tem <a class=\"reference internal\" href=\"/pt-br/1.9/topics/http/sessions/#module-django.contrib.sessions\" title=\"django.contrib.sessions: Provides session management for Django projects.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.contrib.sessions</span></code></a> no seu <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a> mas não definiu <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SESSION_COOKIE_SECURE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SESSION_COOKIE_SECURE</span></code></a> como <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. Usando uma “cookie” de sessão “somente-segura” é mais difícil para um “sniffer” de tráfego de rede capturar sessões do usuário.</p></li>\n<li><p><strong>security.W011</strong>: Você tem <a class=\"reference internal\" href=\"/pt-br/1.9/ref/middleware/#django.contrib.sessions.middleware.SessionMiddleware\" title=\"django.contrib.sessions.middleware.SessionMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.contrib.sessions.middleware.SessionMiddleware</span></code></a> no seu setting:MIDDLEWARE_CLASSES, mas não definiu <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SESSION_COOKIE_SECURE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SESSION_COOKIE_SECURE</span></code></a> como <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. Usando uma “cookie” de sessão como “somente-segura” é mais difícil para um “sniffer” de tráfego de rede capturar sessões do usuário.</p></li>\n<li><p><strong>security.W012</strong>: <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SESSION_COOKIE_SECURE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SESSION_COOKIE_SECURE</span></code></a> não é <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. Usando uma “cookie” de sessão como “somente-segura” é mais difícil para um “sniffer” de tráfego de rede capturar sessões do usuário.</p></li>\n<li><p><strong>security.W013</strong>: Você <a class=\"reference internal\" href=\"/pt-br/1.9/topics/http/sessions/#module-django.contrib.sessions\" title=\"django.contrib.sessions: Provides session management for Django projects.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.contrib.sessions</span></code></a> no seu <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a>, mas não definiu <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SESSION_COOKIE_HTTPONLY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SESSION_COOKIE_HTTPONLY</span></code></a> como <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. Usando uma “cookie” de sessão <code class=\"docutils literal notranslate\"><span class=\"pre\">HttpOnly</span></code> faz com que seja mais difícil um ataque de script extra-site capturar sessões de usuários.</p></li>\n<li><p><strong>security.W014</strong>: Você tem <a class=\"reference internal\" href=\"/pt-br/1.9/ref/middleware/#django.contrib.sessions.middleware.SessionMiddleware\" title=\"django.contrib.sessions.middleware.SessionMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.contrib.sessions.middleware.SessionMiddleware</span></code></a> nas suas <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-MIDDLEWARE_CLASSES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE_CLASSES</span></code></a>, mas não definiu o <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SESSION_COOKIE_HTTPONLY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SESSION_COOKIE_HTTPONLY</span></code></a> como <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. Usando a “cookie” de sessão <code class=\"docutils literal notranslate\"><span class=\"pre\">HttpOnly</span></code> torna mais difícil para um ataque de script extra-site capturar sessões de usuários.</p></li>\n<li><p><strong>security.W015</strong>: <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-SESSION_COOKIE_HTTPONLY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SESSION_COOKIE_HTTPONLY</span></code></a> não está definido como <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. Usando uma cookie de sessão como <code class=\"docutils literal notranslate\"><span class=\"pre\">HttpOnly</span></code> torna mais difícil um ataque de script extra-site capturar sessões de usuários.</p></li>\n<li><p><strong>security.W016</strong>: <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-CSRF_COOKIE_SECURE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">CSRF_COOKIE_SECURE</span></code></a> não está como <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. Usando a “secure-only” para a “cookie” CSRF torna mais difícil para um “sniffer” de tráfego de rede roubar o token CSRF.</p></li>\n<li><p><strong>security.W017</strong>: <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-CSRF_COOKIE_HTTPONLY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">CSRF_COOKIE_HTTPONLY</span></code></a> não está como <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>. Usando o <code class=\"docutils literal notranslate\"><span class=\"pre\">HttpOnly</span></code> da “cookie” CSRF torna mais difícil para um ataque de cript extra-site de roubar o token CSRF.</p></li>\n<li><p><strong>security.W018</strong>: Você não deve definir <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a> como <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> em produção.</p></li>\n<li><p><strong>security.W019</strong>: Você tem o <a class=\"reference internal\" href=\"/pt-br/1.9/ref/middleware/#django.middleware.clickjacking.XFrameOptionsMiddleware\" title=\"django.middleware.clickjacking.XFrameOptionsMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.middleware.clickjacking.XFrameOptionsMiddleware</span></code></a> nas suas <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-MIDDLEWARE_CLASSES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE_CLASSES</span></code></a>, mas o <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-X_FRAME_OPTIONS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">X_FRAME_OPTIONS</span></code></a> não está como <code class=\"docutils literal notranslate\"><span class=\"pre\">'DENY'</span></code>. O padrão é <code class=\"docutils literal notranslate\"><span class=\"pre\">'SAMEORIGIN'</span></code>, mas a menos que tenha uma boa razão para o seu site servir outras partes dele mesmo em um “frame”, você deve mudá-lo para <code class=\"docutils literal notranslate\"><span class=\"pre\">'DENY'</span></code>.</p></li>\n<li><p><strong>security.W020</strong>: <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-ALLOWED_HOSTS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">ALLOWED_HOSTS</span></code></a> não deve estar vazio durante a implantação.</p></li>\n</ul>\n</section>\n<section id=\"sites\">\n<h3>Sites<a class=\"heading-anchor\" href=\"#sites\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>As verificações seguintes são realizadas em qualquer modelo usando uma <a class=\"reference internal\" href=\"/pt-br/1.9/ref/contrib/sites/#django.contrib.sites.managers.CurrentSiteManager\" title=\"django.contrib.sites.managers.CurrentSiteManager\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">CurrentSiteManager</span></code></a>:</p>\n<ul class=\"simple\">\n<li><p><strong>sites.E001</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">CurrentSiteManager</span></code> não pode achar um campo chamado <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field</span> <span class=\"pre\">name&gt;</span></code>.</p></li>\n<li><p><strong>sites.E002</strong>: <code class=\"docutils literal notranslate\"><span class=\"pre\">CurrentSiteManager</span></code> não pode usar <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;field&gt;</span></code> já que ele não é uma <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code> ou <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code>.</p></li>\n</ul>\n</section>\n<section id=\"database\">\n<h3>Banco de dados<a class=\"heading-anchor\" href=\"#database\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"mysql\">\n<h4>MySQL<a class=\"heading-anchor\" href=\"#mysql\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Se você estiver usando MySQL, as seguintes verificações são realizadas:</p>\n<ul class=\"simple\">\n<li><p><strong>mysql.E001</strong>: MySQL não permite o <code class=\"docutils literal notranslate\"><span class=\"pre\">CharField</span></code>s único ter <code class=\"docutils literal notranslate\"><span class=\"pre\">max_length</span></code> &gt; 255.</p></li>\n</ul>\n</section>\n</section>\n<section id=\"templates\">\n<h3>Templates<a class=\"heading-anchor\" href=\"#templates\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>As verificações seguintes averiguam se sua definição de <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-TEMPLATES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">TEMPLATES</span></code></a> está corretamente configurada.</p>\n<ul class=\"simple\">\n<li><p><strong>templates.E001</strong>: Você tem <code class=\"docutils literal notranslate\"><span class=\"pre\">'APP_DIRS':</span> <span class=\"pre\">True</span></code> no seu <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-TEMPLATES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">TEMPLATES</span></code></a> mas também especifica o <code class=\"docutils literal notranslate\"><span class=\"pre\">'loaders'</span></code> nas <code class=\"docutils literal notranslate\"><span class=\"pre\">OPTIONS</span></code>. Ou remova o <code class=\"docutils literal notranslate\"><span class=\"pre\">APP_DIRS</span></code> ou a opção <code class=\"docutils literal notranslate\"><span class=\"pre\">'loaders'</span></code>.</p></li>\n</ul>\n</section>\n<section id=\"caches\">\n<h3>Caches<a class=\"heading-anchor\" href=\"#caches\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>As verificações seguintes averiguam se seu <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-CACHES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">CACHES</span></code></a> está configurado corretamente:</p>\n<ul class=\"simple\">\n<li><p><strong>caches.E001</strong>: Você deve definir um cache <code class=\"docutils literal notranslate\"><span class=\"pre\">'default'</span></code> para a definição de <a class=\"reference internal\" href=\"/pt-br/1.9/ref/settings/#std-setting-CACHES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">CACHES</span></code></a>.</p></li>\n</ul>\n</section>\n<section id=\"urls\">\n<h3>URLs<a class=\"heading-anchor\" href=\"#urls\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>As verificações seguintes são realizadas na sua configuração de URL:</p>\n<ul class=\"simple\">\n<li><p><strong>urls.W001</strong>: Seu formato padrão <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;pattern&gt;</span></code> usa <a class=\"reference internal\" href=\"/pt-br/1.9/ref/urls/#django.conf.urls.include\" title=\"django.conf.urls.include\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">include()</span></code></a> com uma <code class=\"docutils literal notranslate\"><span class=\"pre\">regex</span></code> terminando com um <code class=\"docutils literal notranslate\"><span class=\"pre\">$</span></code>. Remova o “dollar” da <code class=\"docutils literal notranslate\"><span class=\"pre\">regex</span></code> para evitar problemas com includes de URLs.</p></li>\n<li><p><strong>urls.W002</strong>: Seu formato padrão do <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;pattern&gt;</span></code> tem uma <code class=\"docutils literal notranslate\"><span class=\"pre\">regex</span></code> começando com um <code class=\"docutils literal notranslate\"><span class=\"pre\">/</span></code>. Remova essa barra uma vez que é desnecessária.</p></li>\n<li><p><strong>urls.W003</strong>: Seu formato padrão de <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;pattern&gt;</span></code> tem um <code class=\"docutils literal notranslate\"><span class=\"pre\">name</span></code> incluindo um <code class=\"docutils literal notranslate\"><span class=\"pre\">:</span></code>. Remova os dois-pontos para evitar referências anbíguas de domínios baseados em nomes.</p></li>\n</ul>\n</section>\n</section>","rootId":"system-check-framework","toc":[{"title":"Referência da API","anchor":"api-reference","children":[{"title":"CheckMessage","anchor":"checkmessage","children":[]}]},{"title":"Verificações embutidas","anchor":"builtin-checks","children":[{"title":"Tags embutidas","anchor":"builtin-tags","children":[]},{"title":"Verificações do núcleo do sistema","anchor":"core-system-checks","children":[{"title":"Models","anchor":"models","children":[]},{"title":"Campos","anchor":"fields","children":[]},{"title":"Campos para arquivo.","anchor":"file-fields","children":[]},{"title":"Campos relacionados","anchor":"related-fields","children":[]},{"title":"Signals","anchor":"signals","children":[]},{"title":"Comaptibilidades com versões anteriores","anchor":"backwards-compatibility","children":[]}]},{"title":"Admin","anchor":"admin","children":[{"title":"ModelAdmin","anchor":"modeladmin","children":[]},{"title":"InlineModelAdmin","anchor":"inlinemodeladmin","children":[]},{"title":"GenericInlineModelAdmin","anchor":"genericinlinemodeladmin","children":[]}]},{"title":"Autenticação","anchor":"auth","children":[]},{"title":"Tipos de Conteúdo","anchor":"content-types","children":[]},{"title":"Segurança","anchor":"security","children":[]},{"title":"Sites","anchor":"sites","children":[]},{"title":"Banco de dados","anchor":"database","children":[{"title":"MySQL","anchor":"mysql","children":[]}]},{"title":"Templates","anchor":"templates","children":[]},{"title":"Caches","anchor":"caches","children":[]},{"title":"URLs","anchor":"urls","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"Referência da API","url":"/pt-br/1.9/ref/"}],"prev":{"docname":"ref/applications","title":"Aplicações","url":"/pt-br/1.9/ref/applications/"},"next":{"docname":"ref/class-based-views/index","title":"API nativa de views baseadas em classes","url":"/pt-br/1.9/ref/class-based-views/"},"formats":{"html":"/pt-br/1.9/ref/checks/","markdown":"/pt-br/1.9/ref/checks.md","json":"/pt-br/1.9/ref/checks.json"},"source":"https://github.com/django/django/blob/stable/1.9.x/docs/ref/checks.txt","official":"https://docs.djangoproject.com/pt-br/1.9/ref/checks/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","fr","ja","id","pt-br","es"]}