Changes between Initial Version and Version 1 of Ticket #33772, comment 5
- Timestamp:
- Jun 8, 2022, 11:19:20 PM (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #33772, comment 5
initial v1 3 3 The crux of the issue remain; you are asking for an element at a particular index of a collection with an undefined ordering. Adding `order_by("example_model")` to your test case addresses the irregularity you are experiencing with `first()`. 4 4 5 `first()` could arguably be adjusted to raise an exception when attempted to be used on an unordered collection to ''refuse the temptation to guess'' but that would require a deprecation period. Another approach could be to only raise an exception when `first()` is called on a unordered queryset with an explicit `values()` that doesn't include `pk` which is the case reported here.5 `first()` could arguably be adjusted to raise an exception when attempted to be used on an unordered collection to ''refuse the temptation to guess'' but that would require a deprecation period. Another approach could be to only raise an exception when `first()` is called on a unordered queryset with an explicit `values()` aggregation grouping that doesn't include `pk` which is the case reported here. 6 6 7 7 Here's what the code could look like for a systematic error on attempts to use `first()` on a undefined ordering queryset performing aggregation over specific columns