Напишите Django QuerySet, который удаляет все пробелы из определенных ключей в JSONFIELD

Я хотел бы написать Django QuerySet, который удаляет пробелы из определенных ключей в поле JsonField.

У меня есть модель django с типом JsonField.

MyModel(Model):
     a: str,
     properties: JSONField

вот пример строк базы данных :

a, properties

“first”, {“key_1”: “  key1value”, “key_2”:”key2value”, “key_3”: “  key_3”}
“second”, {“key_2”: “    key2   “}

и мой набор запросов должен обновить мои данные, удалив пробелы из определенного ключа. Таким образом, для Key_1 и Key_2 это даст мне:

“first”, {“key_1”: “key1value”, “key_2”:”key2value”, “key_3”: “  key_3”}
    “second”, {“key_2”: “key2“}

Я пробовал использовать

MyModel.objects.update(properties_key_1=F("propertieskey_1”).strip().lower(), propertieskey_2=F("properties_key_2”).strip().lower())

но я получаю ошибку:

==> result AttributeError: 'F' object has no attribute 'strip

Я пытался:

MyModel.objects.update(properties__key_1=RawSQL("properties->key_1->value", []).strip())
==> result 'RawSQL' object has no attribute 'strip'

Я пытался:

MyModel.objects.update(properties__key_1=RawSQL("TRIM(properties->asset_class->value)”)
==> 
    SyntaxError: positional argument follows keyword argument

Есть идеи, пожалуйста? спасибо

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