Opened 23 months ago
Last modified 23 months ago
#34321 closed Bug
Unexpected query result after call QuerySet.only() to ForeignKey() with 'self' reference — at Initial Version
Reported by: | Mahardhika Praja | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | 3.2 |
Severity: | Normal | Keywords: | queryset |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Unexpected query result after calling QuerySet.only('ref__field')
to ForeignKey('self')
class MyModel(models.Model): f1 = models.IntegerField() f2 = models.IntegerField() f3 = models.IntegerField() ref = models.ForeignKey("self", on_delete=models.CASCADE) print(str(MyModel.objects.select_related('ref').only('ref__f1').query))
Output
'SELECT "mymodel"."id", "mymodel"."f1", "mymodel"."ref_id", T2."id", T2."f1", T2."ref_id" FROM "mymodel" INNER JOIN "mymodel" T2 ON ("mymodel"."ref_id" = T2."id")'
Fields "mymodel"."f2"
and "mymodel"."f3"
are excluded from column selection
Note:
See TracTickets
for help on using tickets.