[Django] #30336: F() expression wrong result on postgres JSONField

6 views
Skip to first unread message

Django

unread,
Apr 6, 2019, 12:04:25 PM4/6/19
to django-...@googlegroups.com
#30336: F() expression wrong result on postgres JSONField
-------------------------------------+-------------------------------------
Reporter: blu3not3 | Owner: nobody
Type: Bug | Status: new
Component: Database | Version: 2.2
layer (models, ORM) |
Severity: Normal | Keywords: jsonfield, postgres
Triage Stage: | Has patch: 0
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
On the model

{{{
class Product(Model):
properties = JSONField()
}}}

when querying with {{{Product.objects.values('properties__color')}}}, the
resulting query is {{{SELECT ("product"."properties" -> 'color') FROM
"product"}}}

However, when using the equivalent F() expression {{{product =
Product.objects.values(color=F('properties__color'))}} the resulting query
is {{{SELECT "product"."properties" AS "color" FROM "product"}}}, which
ignores part of the field name

--
Ticket URL: <https://code.djangoproject.com/ticket/30336>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Apr 6, 2019, 12:40:58 PM4/6/19
to django-...@googlegroups.com
#30336: F() expression wrong result on postgres JSONField
-------------------------------------+-------------------------------------
Reporter: blu3not3 | Owner:
| armansabyr
Type: Bug | Status: assigned
Component: Database layer | Version: 2.2
(models, ORM) |
Severity: Normal | Resolution:

Keywords: jsonfield, postgres | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by armansabyr):

* owner: nobody => armansabyr
* status: new => assigned


--
Ticket URL: <https://code.djangoproject.com/ticket/30336#comment:1>

Django

unread,
Apr 8, 2019, 12:23:29 AM4/8/19
to django-...@googlegroups.com
#30336: F() expression wrong result on postgres JSONField
-------------------------------------+-------------------------------------
Reporter: blue-note | Owner:
| armansabyr
Type: New feature | Status: closed
Component: contrib.postgres | Version: master
Severity: Normal | Resolution: duplicate
Keywords: jsonfield, | Triage Stage:
postgres, F | Unreviewed
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by felixxm):

* status: assigned => closed
* resolution: => duplicate
* component: Database layer (models, ORM) => contrib.postgres
* version: 2.2 => master
* keywords: jsonfield, postgres => jsonfield, postgres, F
* type: Bug => New feature


Comment:

Duplicate of #29769.

--
Ticket URL: <https://code.djangoproject.com/ticket/30336#comment:2>

Reply all
Reply to author
Forward
0 new messages