{{{
Dog.objects.filter(data__owner__name='Bob')
}}}
What if we wanted to update this dogs owner's name instead (without
touching anything else)? Rather than doing this
{{{
dog = Dog.objects.get(pk=n)
data = dog.data
data['owner']['name'] = 'Steve'
dog.data = data
dog.save()
}}}
It would be great to do this:
{{{
Dog.objects.filter(pk=2).update(data__owner__name='Steve')
}}}
Looks like django-postgres-extensions[0] attempts to do this, but I found
the library to be unstable on 1.11.
[0] - http://django-postgres-extensions.readthedocs.io/
--
Ticket URL: <https://code.djangoproject.com/ticket/29112>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* version: 1.11 => master
* stage: Unreviewed => Accepted
Comment:
This is kind of related to #24709 but for `JSONField` instead of
`ArrayField`.
--
Ticket URL: <https://code.djangoproject.com/ticket/29112#comment:1>
* owner: (none) => Priyansh Saxena
* status: new => assigned
--
Ticket URL: <https://code.djangoproject.com/ticket/29112#comment:2>
* has_patch: 0 => 1
Comment:
[https://github.com/django/django/pull/9715 PR]
--
Ticket URL: <https://code.djangoproject.com/ticket/29112#comment:3>
* needs_better_patch: 0 => 1
--
Ticket URL: <https://code.djangoproject.com/ticket/29112#comment:4>
* owner: Priyansh Saxena => Tom Forbes
* cc: Tom Forbes (added)
--
Ticket URL: <https://code.djangoproject.com/ticket/29112#comment:5>
* owner: Tom Forbes => Asif Saifuddin Auvi
--
Ticket URL: <https://code.djangoproject.com/ticket/29112#comment:6>
Comment (by shauryashahi):
https://stackoverflow.com/q/62561675/2415394
Similar question. Posting here for visibility.
--
Ticket URL: <https://code.djangoproject.com/ticket/29112#comment:7>
Comment (by Priyansh Saxena):
Is this ticket in active development ? If not, I'd like to take it back
and finish this off.
--
Ticket URL: <https://code.djangoproject.com/ticket/29112#comment:8>
* owner: Asif Saifuddin Auvi => (none)
* status: assigned => new
Comment:
plz take this over
--
Ticket URL: <https://code.djangoproject.com/ticket/29112#comment:9>
* owner: (none) => Priyansh Saxena
* status: new => assigned
--
Ticket URL: <https://code.djangoproject.com/ticket/29112#comment:10>
* ui_ux: 1 => 0
Comment:
[https://github.com/django/django/pull/13152 New PR]
--
Ticket URL: <https://code.djangoproject.com/ticket/29112#comment:11>
* owner: Priyansh Saxena => (none)
* status: assigned => new
* component: contrib.postgres => Database layer (models, ORM)
--
Ticket URL: <https://code.djangoproject.com/ticket/29112#comment:12>
* status: new => closed
* resolution: => duplicate
Comment:
Marking as a duplicate of #32519, with a more comprehensive discussion.
--
Ticket URL: <https://code.djangoproject.com/ticket/29112#comment:13>