From 69dfb5d818f6a8b73695593fe11243ddc3c9a5c8 Mon Sep 17 00:00:00 2001 From: Craig de Stigter Date: Tue, 24 Nov 2015 09:53:02 +1300 Subject: [PATCH] Fix overzealous RelatedField queryset validation. Otherwise if you want to subclass RelatedField in a read+write capacity you end up with this weird situation: ``` class MyField(serializers.RelatedField): def __init__(self, **kwargs): if not kwargs.get('read_only'): kwargs.setdefault('queryset', MyModel.objects.all()) super(MyField, self).__init__(**kwargs) ``` This commit removes the check preventing you from just supplying the queryset anyway. Why shouldn't you? --- rest_framework/relations.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/rest_framework/relations.py b/rest_framework/relations.py index 744823c48..0bcdcdd95 100644 --- a/rest_framework/relations.py +++ b/rest_framework/relations.py @@ -69,10 +69,6 @@ class RelatedField(Field): 'Relational field must provide a `queryset` argument, ' 'or set read_only=`True`.' ) - assert not (self.queryset is not None and kwargs.get('read_only', None)), ( - 'Relational fields should not provide a `queryset` argument, ' - 'when setting read_only=`True`.' - ) kwargs.pop('many', None) kwargs.pop('allow_empty', None) super(RelatedField, self).__init__(**kwargs)