Shared task
Fixed #33155 -- Made ModelChoiceIteratorValue instances hashable.
PR #14915 ↗ · django/django · · merged Sep 30, 2021 · +11 −1 · base 903aaa35e5ce
what a new run launched now would send
ModelChoiceIteratorValue is not hashable.
Description
Recently I migrated from Django 3.0 to Django 3.1. In my code, I add custom data-* attributes to the select widget options. After the upgrade some of those options broke. Error is {TypeError}unhashable type: 'ModelChoiceIteratorValue'.
Example (this one breaks):
def create_option(self, name, value, label, selected, index, subindex=None, attrs=None):
context = super().create_option(name, value, label, selected, index, subindex, attrs)
if not value:
return context
if value in self.show_fields: # This is a dict {1: ['first_name', 'last_name']}
context['attrs']['data-fields'] = json.dumps(self.show_fields[value])
However, working with arrays is not an issue:
def create_option(self, name, value, label, selected, index, subindex=None, attrs=None):
context = super().create_option(name, value, label, selected, index, subindex, attrs)
if not value:
return context
if value in allowed_values: # This is an array [1, 2]
...
Work only inside this repository checkout. Make the code change the task
describes, keeping the diff focused — no drive-by refactors.
When you are done, leave your changes committed or in the working tree;
they are collected automatically.
Stay on this snapshot checkout (`task/ycb_django_pr14915`). Never checkout, pull, or rebase onto `main`. That branch is a README-only orphan.
Stay on this HEAD. Do not fetch another default branch. Push only on the Cursor-created `crazy-cursor/…` side branch from this HEAD.Some past runs of this task were launched with a different prompt (the prompt template changed since, or those runs predate this benchmark's stored prompt). Each run persists the exact prompt it sent at launch — that per-launch record is the audit trail; this page shows only the current one.
| Run | Model | Verdict |
|---|---|---|
| Aug 21, 12:31 UTC · completed | composer-2.5 | PASS |
| Aug 21, 12:31 UTC · completed | grok-4.6 | PASS |
| Aug 21, 12:31 UTC · completed | grok-4.6-low |
Powered by YourCodingBench — benchmark coding models on your own repo's commits. sign in
| Aug 21, 12:31 UTC · completed | grok-4.6-medium | PASS |
| Aug 21, 12:31 UTC · completed | grok-4.6-xhigh | PASS |
Binary verdicts from the pinned judge (D27). Full attempt detail — candidate diff, transcript, timings — lives on each run page's score matrix.