diff options
| author | Tom Christie | 2012-10-03 13:28:22 -0700 |
|---|---|---|
| committer | Tom Christie | 2012-10-03 13:28:22 -0700 |
| commit | 0a769f261e79272cf1be6add1bf96aaeec59fb05 (patch) | |
| tree | dd7f32d5ce01e88a2e435c406bbd120799340799 /rest_framework/serializers.py | |
| parent | 89ec0b275039868668080be740c46ebef92cff1e (diff) | |
| parent | a02707e12f750fd0d325e528f7b0fbcd7079db73 (diff) | |
| download | django-rest-framework-0a769f261e79272cf1be6add1bf96aaeec59fb05.tar.bz2 | |
Merge pull request #277 from tomchristie/related-field-fixes
Related field fixes
Diffstat (limited to 'rest_framework/serializers.py')
| -rw-r--r-- | rest_framework/serializers.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 683b9efc..03763824 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -351,7 +351,10 @@ class ModelSerializer(RelatedField, Serializer): """ Creates a default instance of a flat relational field. """ - return PrimaryKeyRelatedField() + queryset = model_field.rel.to._default_manager # .using(db).complex_filter(self.rel.limit_choices_to) + if isinstance(model_field, models.fields.related.ManyToManyField): + return ManyPrimaryKeyRelatedField(queryset=queryset) + return PrimaryKeyRelatedField(queryset=queryset) def get_field(self, model_field): """ @@ -365,7 +368,7 @@ class ModelSerializer(RelatedField, Serializer): models.EmailField: EmailField, models.CharField: CharField, models.CommaSeparatedIntegerField: CharField, - models.BooleanField: BooleanField + models.BooleanField: BooleanField, } try: return field_mapping[model_field.__class__]() |
