Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

197
Views
Uso de QuerySet.update() para actualizar claves específicas en JSONField anidado

Entonces, digamos que tengo un modelo definido de la siguiente manera:

 from django.contrib.postgres.fields import JSONField class Job(models.Model): ... json_data = JSONField(default=dict, blank=True)

El campo approval_coefficient tiene una clave denominada coeficiente_aprobación con valores que van de 0 a 1. Quiero actualizar todos los trabajos con json_data__coeficiente_aprobación como 0,25 a 0,75 sin activar ninguna señal posterior a guardar, en una consulta . Básicamente, quiero usar .update() para trabajar con JSONfield.

Job.objects.filter(json_data__approval_coefficient=0.25).update(json_data...)

esto no funciona (Tal vez haya 50 claves más para cada objeto de trabajo en el campo json_data, y no quiero tocarlas/actualizarlas en absoluto. Solo me preocupa esta clave específica).

Aunque, puedo obtener todos los trabajos usando la consulta de filtro, recorrerla y actualizar cada una de las entradas una por una. Pero esto hace varias consultas de escritura en la base de datos y también activa señales post_save, que no es lo que quiero.

Al investigar un poco, encontré este y este PR que nunca se fusionaron en Django.

¿Como va esto?

Python 3.6.8 Django (2, 2, 0, 'final', 0)

over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!