diff options
| author | Tom Christie | 2012-12-07 21:32:39 +0000 |
|---|---|---|
| committer | Tom Christie | 2012-12-07 21:32:45 +0000 |
| commit | 303bc7cf95033d2560668bf6f4d97f05f1268967 (patch) | |
| tree | 7bfd4b12df5f8e1dd9109bbfffbc0ce3c604b041 /rest_framework/serializers.py | |
| parent | a5178e9a363d00f3eef8d86da2d0ec687518f288 (diff) | |
| download | django-rest-framework-303bc7cf95033d2560668bf6f4d97f05f1268967.tar.bz2 | |
Support nullable FKs, with blank=True
Diffstat (limited to 'rest_framework/serializers.py')
| -rw-r--r-- | rest_framework/serializers.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 5edd46f5..13c41a4b 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -431,10 +431,14 @@ class ModelSerializer(Serializer): """ # TODO: filter queryset using: # .using(db).complex_filter(self.rel.limit_choices_to) - queryset = model_field.rel.to._default_manager + kwargs = { + 'blank': model_field.blank, + 'queryset': model_field.rel.to._default_manager + } + if to_many: - return ManyPrimaryKeyRelatedField(queryset=queryset) - return PrimaryKeyRelatedField(queryset=queryset) + return ManyPrimaryKeyRelatedField(**kwargs) + return PrimaryKeyRelatedField(**kwargs) def get_field(self, model_field): """ @@ -572,9 +576,9 @@ class HyperlinkedModelSerializer(ModelSerializer): # TODO: filter queryset using: # .using(db).complex_filter(self.rel.limit_choices_to) rel = model_field.rel.to - queryset = rel._default_manager kwargs = { - 'queryset': queryset, + 'blank': model_field.blank, + 'queryset': rel._default_manager, 'view_name': self._get_default_view_name(rel) } if to_many: |
