Django

Sinais do Django

Sinais integrados, pre_save, post_save, pre_delete, sinais personalizados, receivers, boas práticas de sinais

18 perguntas de entrevista·
Mid-Level
1

O que é um sinal no Django?

Resposta

Um sinal é um mecanismo que permite que certas partes da aplicação sejam notificadas quando ações específicas ocorrem em outro lugar do framework. Os sinais permitem desacoplar o emissor do evento dos receivers que reagem a esse evento. O Django fornece vários sinais integrados como pre_save, post_save, pre_delete e post_delete para operações sobre modelos.

2

Qual sinal é emitido logo antes de um objeto ser salvo no banco de dados?

Resposta

O sinal pre_save é emitido antes de o método save() de um modelo ser executado. Ele permite fazer modificações na instância antes de salvá-la, como calcular valores derivados ou normalizar dados. Esse sinal é útil porque é chamado tanto na criação quanto na atualização do objeto.

3

Qual decorador deve ser usado para conectar uma função receiver a um sinal do Django?

Resposta

O decorador @receiver de django.dispatch permite conectar uma função a um sinal de forma declarativa. Ele recebe como parâmetro o sinal a ser escutado e, opcionalmente, o sender para filtrar os emissores. Essa abordagem é mais legível que o método connect() e facilita a manutenção do código.

4

Qual argumento do sinal post_save permite distinguir uma criação de uma atualização?

5

Onde é recomendado colocar o código dos receivers de sinais em uma aplicação Django?

+15 perguntas de entrevista

Domine Django para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis