﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
32021	Add support to update a JSONField with result from annotation	Xavier Lesa	nobody	"I have a model with a `JSONField` and want to update ''in just one query'' like any other Field. Something like this:

{{{
    # one query update
    related_machinery = ActivityTracking.objects.filter(machinery=OuterRef('pk')).values('machinery')
    sub_total = related_machinery.annotate(Sum('measure_value')).values('measure_value__sum')
    avg_total = related_machinery.annotate(Avg('measure_value')).values('measure_value__avg')

    Machinery.objects.filter(id=machinery_id).update(
        measure_value=F('initial_measure_value') + sub_total,
        metrics=avg_total
    )
}}}


In example `measure_value` is a `DecimalField` and `metrics` is a `JSONField`. Also will be great if keys in `JSONField` was accessibles in `update`, like this:

{{{
    Machinery.objects.filter(id=instance.machinery_id).update(
        measure_value=F('initial_measure_value') + sub_total,
        metrics__average_measure_value=avg_total
    )
}}}"	New feature	closed	Database layer (models, ORM)	3.1	Normal	duplicate	JSONField, Models, Annotate		Unreviewed	0	0	0	0	0	0
