#36352: Weird behavior of .values after a distinct in 5.1.8
-------------------------------------+-------------------------------------
Reporter: Joseph Yu | Owner: (none)
Type: Bug | Status: new
Component: Database layer | Version: 5.1
(models, ORM) |
Severity: Normal | Resolution:
Keywords: .values, distinct | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Joseph Yu):
Finally stopped lazy and reproduced it locally. Updated the ticket to have
accurate models.
Replying to [comment:3 Sarah Boyce]:
> {{{#!python
> from django.db import models
> from django.db.models import (
> F,
> OuterRef,
> Subquery,
> )
> from django.test import TestCase
>
>
> class Tenant(models.Model):
> schema_name = models.CharField(max_length=150)
> created_at = models.DateTimeField(auto_now_add=True)
>
>
> class Test36352(TestCase):
> def test_ticket_36352(self):
> t1 = Tenant.objects.create(schema_name="Test 1")
> t2 = Tenant.objects.create(schema_name="Test 2")
> t3 = Tenant.objects.create(schema_name="Test 3")
> a = Tenant.objects.filter(id__in=[t1.id,
t1.id]).values('id').annotate(
> schema=F('schema_name'), created=F('created_at')
> )
> b = Tenant.objects.filter(id=t1.id).values('id').annotate(
> schema=F('schema_name'), created=F('created_at')
> )
> c = (a | b).distinct()
> d = c.filter(id=OuterRef('id')).values('schema')
> e = Tenant.objects.values('schema_name').annotate(
> created_at=Subquery(d.values('created'))
> )
> }}}
>
> So yes this fails, but it seems to fail in Django 4.2 as well. It might
help sharing the model as well. It would also be useful to do a git bisect
to identify when this started failing
--
Ticket URL: <https://code.djangoproject.com/ticket/36352#comment:5>
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 view this discussion visit
https://groups.google.com/d/msgid/django-updates/01070196725d19cd-ef126254-0f1c-4066-8c44-6ca330e06202-000000%40eu-central-1.amazonses.com.