diff options
| author | Tom Christie | 2013-01-12 09:43:07 +0000 |
|---|---|---|
| committer | Tom Christie | 2013-01-12 09:43:14 +0000 |
| commit | d9acec3e6dd07d33f416646bc161108ea52842d6 (patch) | |
| tree | e8d9ec9712c35621b780d7452bb27f7029425800 /rest_framework/tests/fields.py | |
| parent | 73c4e5c4603e24ec1ea9976a3c6152a797f8f041 (diff) | |
| download | django-rest-framework-d9acec3e6dd07d33f416646bc161108ea52842d6.tar.bz2 | |
PK fields should only be read-only if they are an AutoField. Fixes #563
Diffstat (limited to 'rest_framework/tests/fields.py')
| -rw-r--r-- | rest_framework/tests/fields.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/rest_framework/tests/fields.py b/rest_framework/tests/fields.py index b1a8161a..a6a05941 100644 --- a/rest_framework/tests/fields.py +++ b/rest_framework/tests/fields.py @@ -12,11 +12,20 @@ class TimestampedModel(models.Model): updated = models.DateTimeField(auto_now=True) +class CharPrimaryKeyModel(models.Model): + id = models.CharField(max_length=20, primary_key=True) + + class TimestampedModelSerializer(serializers.ModelSerializer): class Meta: model = TimestampedModel +class CharPrimaryKeyModelSerializer(serializers.ModelSerializer): + class Meta: + model = CharPrimaryKeyModel + + class ReadOnlyFieldTests(TestCase): def test_auto_now_fields_read_only(self): """ @@ -24,3 +33,11 @@ class ReadOnlyFieldTests(TestCase): """ serializer = TimestampedModelSerializer() self.assertEquals(serializer.fields['added'].read_only, True) + + def test_auto_pk_fields_read_only(self): + serializer = TimestampedModelSerializer() + self.assertEquals(serializer.fields['id'].read_only, True) + + def test_non_auto_pk_fields_not_read_only(self): + serializer = CharPrimaryKeyModelSerializer() + self.assertEquals(serializer.fields['id'].read_only, False) |
