Напишите 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
Есть идеи, пожалуйста? спасибо