Сохранение JSON-поля со всплывающими ключами

Я пытаюсь удалить все вхождения определенного ключа в JSON-поле, когда определенный ключ удален.

Я пробовал просто выкачать все вхождения заданного ключа в json-поле. Однако, сохранение JSON-поля с выскочившим ключом, похоже, не работает - данные не изменяются в Element-объектах. Есть ли способ сделать это?

class Element(models.Model):
  data = models.JSONField(default=dict, blank=True)

class Key(moedls.Model):
[...]
    def delete(self, *args, **kwargs):
        to_update = Element.objects.filter(data__has_key=self.slug)
        for element in to_update:
            element.data.pop(self.slug)
        GraphElement.objects.bulk_update(to_update, ["data"])
        super().delete(*args, **kwargs)

Редактирование: Я только что понял, что этот код действительно работает - но только иногда.

Вернуться на верх