diff options
author | Dan Moore <dan@moore.cx> | 2018-11-03 22:45:36 -0400 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2019-10-23 10:50:31 +0200 |
commit | bc94e3c1a263da4b3eae3111c12270744907901b (patch) | |
tree | 288d97879beb827df39d29e5fdc80d8aa5e089d9 /django/db/models/fields/reverse_related.py | |
parent | f3855a8d2d9eee7f82e412a69bf42ad2df867462 (diff) | |
download | django-bc94e3c1a263da4b3eae3111c12270744907901b.tar.gz |
Fixed #29919 -- Fixed RelatedOnlyFieldListFilter crash with reverse relationships.
Diffstat (limited to 'django/db/models/fields/reverse_related.py')
-rw-r--r-- | django/db/models/fields/reverse_related.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/django/db/models/fields/reverse_related.py b/django/db/models/fields/reverse_related.py index 700410a086..8f0c95962d 100644 --- a/django/db/models/fields/reverse_related.py +++ b/django/db/models/fields/reverse_related.py @@ -114,7 +114,10 @@ class ForeignObjectRel(FieldCacheMixin): self.related_model._meta.model_name, ) - def get_choices(self, include_blank=True, blank_choice=BLANK_CHOICE_DASH, ordering=()): + def get_choices( + self, include_blank=True, blank_choice=BLANK_CHOICE_DASH, + limit_choices_to=None, ordering=(), + ): """ Return choices with a default blank choices included, for use as <select> choices for this field. @@ -122,7 +125,8 @@ class ForeignObjectRel(FieldCacheMixin): Analog of django.db.models.fields.Field.get_choices(), provided initially for utilization by RelatedFieldListFilter. """ - qs = self.related_model._default_manager.all() + limit_choices_to = limit_choices_to or self.limit_choices_to + qs = self.related_model._default_manager.complex_filter(limit_choices_to) if ordering: qs = qs.order_by(*ordering) return (blank_choice if include_blank else []) + [ |