Opened 9 years ago
Last modified 9 years ago
#26680 closed Bug
more than one row returned by a subquery used as an expression — at Initial Version
| Reported by: | Maarten | Owned by: | nobody |
|---|---|---|---|
| Component: | Database layer (models, ORM) | Version: | 1.9 |
| Severity: | Normal | Keywords: | ORM subquery multiple rows |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
Summary:
In 1.8 the subquery has a compare to "in", in 1.9 to "=". In my view 1.8 is correct.
The query:
leverancier_medew = Adresboek.objects.filter(
klant_id=klant_id,
soort='leverancier',
leverancier=Leverancier.objects.filter(
klant_id=klant_id,
locatie=melding.apparaat.locatie))
gives in 1.8.6
SELECT "meldman_adresboek"."id", etc.etc.
FROM "meldman_adresboek"
WHERE ("meldman_adresboek"."soort" = 'leverancier'
AND "meldman_adresboek"."klant_id" = 24
AND "meldman_adresboek"."leverancier_id" IN
(SELECT U0."id"
FROM "meldman_leverancier" U0
INNER JOIN "meldman_locatie_leverancier" U2 ON (U0."id" = U2."leverancier_id")
WHERE (U0."klant_id" = 24 AND U2."locatie_id" = 75)))
ORDER BY "meldman_adresboek"."achternaam" ASC, "meldman_adresboek"."voornaam" ASC
The line:
AND "meldman_adresboek"."leverancier_id" IN
changes in 1.9 to
AND "meldman_adresboek"."leverancier_id" =
which then returns the error: "more than one row returned by a subquery used as an expression".
My sincere thanks for your time and attention.
Greetings,
Maarten
Note:
See TracTickets
for help on using tickets.