#36139: Allow expressing JSONObject keys dynamically, as well as explicit pair-
values
-------------------------------------+-------------------------------------
Reporter: john-parton | Type: New
| feature
Status: new | Component: Database
| layer (models, ORM)
Version: dev | Severity: Normal
Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
In working towards supporting `ABSENT ON NULL` for JSONArray, I did some
digging on what it would take to implement it for `JSONObject` as well,
and essentially, because the __init__ signature consumes all the `kwargs`,
there's not really a good way to configure its behavior without
conflicting with a key definition.
If you could specify the items of a JSONObject positionally, then you get
the aforementioned benefit of being able to have kwargs as well without
conflicting, but you also get the added benefit of being able to construct
objects with non-static keys.
As an example esoteric usage, if you're trying to get the database to omit
valid objects for the Elasticsearch DSL, you would almost certainly need
to be able to build objects with non-static keys.
For example
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-
term-query.html
The key "
user.id" refers to a field in elastic.
See some discussion here:
https://github.com/django/django/pull/19097#issuecomment-2611270246
I'll throw together a patch.
--
Ticket URL: <
https://code.djangoproject.com/ticket/36139>
Django <
https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.