aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/serializers.py
diff options
context:
space:
mode:
authorTom Christie2012-10-03 13:28:22 -0700
committerTom Christie2012-10-03 13:28:22 -0700
commit0a769f261e79272cf1be6add1bf96aaeec59fb05 (patch)
treedd7f32d5ce01e88a2e435c406bbd120799340799 /rest_framework/serializers.py
parent89ec0b275039868668080be740c46ebef92cff1e (diff)
parenta02707e12f750fd0d325e528f7b0fbcd7079db73 (diff)
downloaddjango-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.py7
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__]()