Fix failing 'default' on ModelSerializer

This commit is contained in:
Tom Christie 2012-10-26 13:20:30 +01:00
parent fc4614a89c
commit 67f1265e49
3 changed files with 14 additions and 12 deletions

View File

@ -410,7 +410,7 @@ class ModelSerializer(Serializer):
kwargs = {}
if model_field.has_default():
kwargs['required'] = False
kwargs['default'] = model_field.default
kwargs['default'] = model_field.get_default()
if model_field.__class__ == models.TextField:
kwargs['widget'] = widgets.Textarea

View File

@ -42,6 +42,7 @@ class ActionItemSerializer(serializers.ModelSerializer):
class Meta:
model = ActionItem
class BasicTests(TestCase):
def setUp(self):
self.comment = Comment(
@ -131,7 +132,7 @@ class ValidationTests(TestCase):
"""Make sure that a boolean value with a 'False' value is not
mistaken for not having a default."""
data = {
'title':'Some action item',
'title': 'Some action item',
#No 'done' value.
}
serializer = ActionItemSerializer(data, instance=self.actionitem)
@ -296,10 +297,12 @@ class ManyToManyTests(TestCase):
self.assertEquals(instance.pk, 2)
self.assertEquals(list(instance.rel.all()), [])
class ReadOnlyManyToManyTests(TestCase):
def setUp(self):
class ReadOnlyManyToManySerializer(serializers.ModelSerializer):
rel = serializers.ManyRelatedField(readonly=True)
class Meta:
model = ReadOnlyManyToManyModel
@ -317,7 +320,6 @@ class ReadOnlyManyToManyTests(TestCase):
# A serialized representation of the model instance
self.data = {'rel': [self.anchor.id], 'id': 1, 'text': 'anchor'}
def test_update(self):
"""
Attempt to update an instance of a model with a ManyToMany