Exercício – Criar modelos

Concluído

Ao criar um modelo, você pode definir qualquer campo essencial e o comportamento dos dados. Vamos adicionar os modelos necessários ao aplicativo dog_shelters.

Criar modelos

A primeira etapa do processo é adicionar os modelos. O Django fornece um arquivo vazio chamado models.py que você poderá usar para seus modelos.

  1. Abra o arquivo dog_shelters/models.py no Visual Studio Code.

  2. Adicione duas classes Python para conter os modelos inserindo o seguinte código abaixo do comentário Create your models here:

    # Create your models here
    class Shelter(models.Model):
        name = models.CharField(max_length=200)
        location = models.CharField(max_length=200)
        def __str__(self):
            return self.name
    
    class Dog(models.Model):
        shelter = models.ForeignKey(Shelter, on_delete=models.PROTECT)
        name = models.CharField(max_length=200)
        description = models.TextField()
        intake_date = models.DateTimeField(auto_now_add=True)
        def __str__(self):
            return self.name
    

Ao adicionar esses modelos, agora temos uma representação dos abrigos e dos cães. Observe que a relação entre Dog e Shelter: uma classe Shelter pode hospedar muitos valores Dog. Observe também o valor auto_now_add de intake_date. Ele definirá automaticamente o campo como a data atual se uma data personalizada não for fornecida.

Também estamos usando ForeignKey na classe Dog. Essa parte informa o Django de que há uma relação entre Dog e Shelter. Ao definir essa relação, estamos informando o Django de que cada cão está relacionado a um só abrigo.

Registre o modelo

Todos os aplicativos precisam ser registrados no projeto do Django. Isso pode parecer contraintuitivo, mas só porque uma pasta de aplicativo existe dentro de um projeto, isso não significa que ela é carregada automaticamente. Precisamos registrá-la adicionando-a à lista INSTALLED_APPS.

  1. Localize o nome da classe de configuração dentro da pasta dog_shelters. Para localizar esse nome de classe, acesse o arquivo dog_shelters/apps.py e verifique se o nome de classe é DogSheltersConfig no seguinte código:

    class DogSheltersConfig(AppConfig):
        default_auto_field = 'django.db.models.BigAutoField'
        name = 'dog_shelters'
    
  2. Abra settings.py em project.

  3. Adicione o caminho completo ao nome da classe abaixo do comentário #[TODO] - Add the app to the list of INSTALLED_APPS:

        #[TODO] - Add the app to the list of INSTALLED_APPS
        'dog_shelters.apps.DogSheltersConfig',
    

    Agora, a lista INSTALLED_APPS contém os seguintes itens:

    INSTALLED_APPS = [
        #[TODO] - Add the app to the list of INSTALLED_APPS
        'dog_shelters.apps.DogSheltersConfig',
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
    ]
    

    A adição da linha à lista INSTALLED_APPS informa o Django de que esse aplicativo precisará ser incluído quando ele executar o projeto.

Resumo

Você acabou de criar dois modelos para seu aplicativo Django. A criação de modelos é a base de todos os projetos do Django.