#29112: Make it easier to update specific keys within nested Django JSONField 
data.
--------------------------------------------+------------------------
               Reporter:  Michael           |          Owner:  (none)
                   Type:  New feature       |         Status:  new
              Component:  contrib.postgres  |        Version:  1.11
               Severity:  Normal            |       Keywords:
           Triage Stage:  Unreviewed        |      Has patch:  0
    Needs documentation:  0                 |    Needs tests:  0
Patch needs improvement:  0                 |  Easy pickings:  0
                  UI/UX:  1                 |
--------------------------------------------+------------------------
 Django's docs have a great example of querying nested data using double
 underscore syntax similar to querying across foreign keys


 {{{
 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.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/050.cc0ce43018c659edd2466b3849b23c28%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to