def test_modelserializer_charfield(self):
class ArtistSerializer(serializers.ModelSerializer):
id = HashidSerializerCharField(source_field='tests.Artist.id')
class Meta:
model = Artist
fields = ('id', 'name')
artist = Artist.objects.create(id=128, name="Test Artist")
orig_id = artist.id
s = ArtistSerializer(artist)
self.assertEqual(Artist._meta.get_field('id').salt, s.fields['id'].hashid_salt)
self.assertTrue(isinstance(s.data['id'], six.string_types))
self.assertEqual(artist.id.hashid, s.data['id'])
s2 = ArtistSerializer(artist, data={'id': 128, 'name': "Test Artist Changed"})
self.assertTrue(s2.is_valid())
artist = s2.save()
self.assertEqual(artist.id, orig_id)
self.assertEqual(artist.name, "Test Artist Changed")
test_rest_framework.py 文件源码
python
阅读 29
收藏 0
点赞 0
评论 0
评论列表
文章目录