Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

160
Visualizações
Ajustes predeterminados inusuales en Django

Aquí hay un fragmento de código de los modelos de autenticación de Django (UserManager):

 def create_superuser(self, username, email, password, **extra_fields): extra_fields.setdefault('is_staff', True) extra_fields.setdefault('is_superuser', True) if extra_fields.get('is_staff') is not True: raise ValueError('Superuser must have is_staff=True.') if extra_fields.get('is_superuser') is not True: raise ValueError('Superuser must have is_superuser=True.') return self._create_user(username, email, password, **extra_fields)

¿Por qué establecer un par clave-valor y comprobarlo inmediatamente después? ¿En qué escenario se cumplirían estas condiciones?

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

setdefault establece el valor solo si la clave aún no está presente en el dict. La persona que llama a la función aún podría pasar extra_fields con algunos valores de id_staff o is_superuser .

Lo que hace esta función es que, al crear un superusuario, si la función de llamada no proporciona ningún valor, establezca is_staff e is_superuser en True para este usuario.

Pero, si se proporcionan los valores, compruebe si son True y genere excepciones de lo contrario.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda