aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2012-12-08 13:00:49 +0000
committerTom Christie2012-12-08 13:00:49 +0000
commitac2720afcba7be5e937b5f0360a470701861baaa (patch)
tree78336536247f418c8058b97ed4f0b65f7def8cfe
parent733f03fba35cb13ad53723b0b15d439e40da32ad (diff)
downloaddjango-rest-framework-ac2720afcba7be5e937b5f0360a470701861baaa.tar.bz2
Add null related field option
-rw-r--r--rest_framework/fields.py5
-rw-r--r--rest_framework/serializers.py4
2 files changed, 5 insertions, 4 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py
index c5726ff0..285ec9be 100644
--- a/rest_framework/fields.py
+++ b/rest_framework/fields.py
@@ -269,6 +269,7 @@ class RelatedField(WritableField):
def __init__(self, *args, **kwargs):
self.queryset = kwargs.pop('queryset', None)
+ self.null = kwargs.pop('null', False)
super(RelatedField, self).__init__(*args, **kwargs)
self.read_only = kwargs.pop('read_only', self.default_read_only)
@@ -351,9 +352,9 @@ class RelatedField(WritableField):
value = data.get(field_name)
- if value in (None, '') and not self.blank:
+ if value in (None, '') and not self.null:
raise ValidationError('Value may not be null')
- elif value in (None, '') and self.blank:
+ elif value in (None, '') and self.null:
into[(self.source or field_name)] = None
else:
into[(self.source or field_name)] = self.from_native(value)
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py
index 13c41a4b..7eab9860 100644
--- a/rest_framework/serializers.py
+++ b/rest_framework/serializers.py
@@ -432,7 +432,7 @@ class ModelSerializer(Serializer):
# TODO: filter queryset using:
# .using(db).complex_filter(self.rel.limit_choices_to)
kwargs = {
- 'blank': model_field.blank,
+ 'null': model_field.null,
'queryset': model_field.rel.to._default_manager
}
@@ -577,7 +577,7 @@ class HyperlinkedModelSerializer(ModelSerializer):
# .using(db).complex_filter(self.rel.limit_choices_to)
rel = model_field.rel.to
kwargs = {
- 'blank': model_field.blank,
+ 'null': model_field.null,
'queryset': rel._default_manager,
'view_name': self._get_default_view_name(rel)
}