Validações de campo embutidas em modelos Django são as validações padrão que vêm predefinidas para todos os campos Django. Cada campo vem com validações embutidas dos validadores Django . Por exemplo, IntegerField vem com validação interna de que só pode armazenar valores inteiros e que também em um intervalo específico. Da mesma forma, cada campo tem suas próprias validações. Para mais informações, visite Django Models .

Demonstração de validações internas para campos em Django

Considere um projeto denominado geeksforgeekscom um aplicativo denominado geeks.

Consulte os artigos a seguir para verificar como criar um projeto e um aplicativo no Django.

Digite o seguinte código no models.pyarquivo do aplicativo geeks .

from django.db import models 
from django.db.models import Model 
  
class GeeksModel(Model): 
    geeks_field = models.IntegerField() 
  
    def __str__(self): 
        return self.geeks_field 

Depois de executar makemigrations e migrar no Django e renderizar o modelo acima, vamos tentar criar uma instância usando a string “ GfG is Best “.
built-in-validation-django-models
Você pode ver na interface de administração, não é possível inserir uma string em um IntegerField. Da mesma forma, cada campo tem suas próprias validações.



Adicionar mais validações integradas ao campo

Django tem opções de campos para quase todos os dados que você deseja armazenar no banco de dados, como IntegerField para integer e CharField para strings. Mas existem algumas validações integradas que você pode aplicar nesses campos também. Por exemplo, unique=Truelimitará as entradas de um determinado campo a entradas exclusivas. Abaixo está uma lista de validações integradas que você pode usar em seu campo para fazer mais alterações.

Opções de campo Descrição
Nulo Se True , Django irá armazenar valores vazios como NULL no banco de dados. O padrão é False .
Em branco Se for True , o campo pode ficar em branco. O padrão é False .
db_column O nome da coluna do banco de dados a ser usado para este campo. Se não for fornecido, o Django usará o nome do campo.
Padrão O valor padrão do campo. Pode ser um valor ou um objeto chamável. Se chamável, será chamado sempre que um novo objeto for criado.
Texto de ajuda Texto de “ajuda” extra a ser exibido com o widget de formulário. É útil para documentação, mesmo se seu campo não for usado em um formulário.
chave primária Se for True, este campo é a chave primária para o modelo.
editável Se for False , o campo não será exibido no admin ou em qualquer outro ModelForm. Eles também são ignorados durante a validação do modelo. O padrão é True .
mensagens de erro O argumento error_messages permite que você substitua as mensagens padrão que o campo irá gerar. Passe um dicionário com chaves que correspondam às mensagens de erro que você deseja substituir.
Texto de ajuda Texto de “ajuda” extra a ser exibido com o widget de formulário. É útil para documentação, mesmo se seu campo não for usado em um formulário.
verbose_name Um nome legível para o campo. Se o nome detalhado não for fornecido, o Django o criará automaticamente usando o nome do atributo do campo, convertendo sublinhados em espaços.
validadores Uma lista de validadores a serem executados para este campo. Consulte a documentação dos validadores para obter mais informações.
Único Se for True, este campo deve ser exclusivo em toda a tabela.