Exercício – Criar modelos
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.
Abra o arquivo dog_shelters/models.py no Visual Studio Code.
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
.
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'
Abra settings.py em project.
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.