Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

158
Vistas
Django: cómo guardar el método se aplica solo en datos nuevos

¿Cómo manipulo este método para que se aplique solo en las entradas nuevas y no tenga una entrada anterior?

Cuando esté en administración, agregaré un registro, este método se aplica correctamente. pero cuando edito el mismo registro, este método se aplica nuevamente.

 def save(self): p = Product.objects.last() if p: self.productnumber = 1000 + p.id else: self.productnumber = 1000 super(Product, self).save()
about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Hay dos formas.

1. post_save

 @receiver(post_save, sender= Product) def my_callback(sender, instance, created, *args, **kwargs): if created: #new else: #update

2. compruebe que existe la clave principal

 def save(self): if self.pk: #or id #update else: #new
about 4 years ago · Santiago Trujillo Denunciar

0

Si desea ejecutar algún código en el método save(), solo para elementos que no existen, debe verificar si existe una clave principal.

 def save(self): if self.pk is None: # Code for new objects else: # Code for existing objects
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda