Filter queryset only if limit_choices_to exists

This commit is contained in:
Adrien Brunet 2018-12-21 15:24:30 +01:00
parent 3f95d60a82
commit ca9dcdffa2

View File

@ -170,11 +170,11 @@ class RelatedField(Field):
# Eg: 'MyRelationship(queryset=ExampleModel.objects.all())' # Eg: 'MyRelationship(queryset=ExampleModel.objects.all())'
queryset = queryset.all() queryset = queryset.all()
if hasattr(self.parent, "Meta") and hasattr(self.parent.Meta, "model"): if hasattr(self.parent, "Meta") and hasattr(self.parent.Meta, "model"):
queryset = queryset.filter( filter_dict = self.parent.Meta.model._meta.get_field(
**self.parent.Meta.model._meta.get_field( self.source
self.source ).get_limit_choices_to()
).get_limit_choices_to() if filter_dict:
) queryset = queryset.filter(**filter_dict)
return queryset return queryset
def use_pk_only_optimization(self): def use_pk_only_optimization(self):