Opened 11 years ago
Last modified 8 years ago
#24254 closed Bug
Passing a query to "pk__in" of another query may result in invalid SQL — at Initial Version
| Reported by: | Torsten Bronger | Owned by: | nobody |
|---|---|---|---|
| Component: | Database layer (models, ORM) | Version: | dev |
| Severity: | Normal | Keywords: | |
| Cc: | bronger@…, Simon Charette | Triage Stage: | Ready for checkin |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
Consider the following models:
from django.db import models
class Father(models.Model):
name = models.CharField(max_length=200)
class Son(Father):
class Meta:
ordering = ("name",)
Then, the following query:
Son.objects.filter(pk__in=Son.objects.all().distinct()[:10])
results in an invalid SQL query. SQLite complains with "only a single result allowed for a SELECT that is part of an expression".
Note:
See TracTickets
for help on using tickets.