| 288 | | for obj in self.queryset: |
|---|
| 289 | | yield (obj.pk, self.field.label_from_instance(obj)) |
|---|
| 290 | | # Clear the QuerySet cache if required. |
|---|
| 291 | | if not self.field.cache_choices: |
|---|
| 292 | | self.queryset._result_cache = None |
|---|
| | 288 | if self.field.cache_choices: |
|---|
| | 289 | if self.field.choice_cache is None: |
|---|
| | 290 | self.field.choice_cache = [ |
|---|
| | 291 | (obj.pk, self.field.label_from_instance(obj)) |
|---|
| | 292 | for obj in self.queryset.all() |
|---|
| | 293 | ] |
|---|
| | 294 | for choice in self.field.choice_cache: |
|---|
| | 295 | yield choice |
|---|
| | 296 | else: |
|---|
| | 297 | for obj in self.queryset.all(): |
|---|
| | 298 | yield (obj.pk, self.field.label_from_instance(obj)) |
|---|