我在使用djangorestframework的序列化程序时遇到了一些问题。 以下是我的代码的一部分。
from django.db import models
from django.contrib.auth.models import User
class Image(models.Model):
id = models.AutoField(primary_key=True)
owner = models.ForeignKey(User)
album = models.ForeignKey(Album, null=True)
name = models.CharField(max_length=128, default='')
class Album(models.Model):
id = models.AutoField(primary_key=True)
owner = models.ForeignKey(User)
name = models.CharField(max_length=128, default='')
class ImageSerializer(serializers.ModelSerializer):
owner = serializers.Field(source='owner.id')
album = serializers.Field(source='album.id')
uploadDevice = serializers.Field(source='uploadDevice.id')
class Meta:
model = Image
fields = ('id', 'owner', 'album', 'name')
class AlbumSerializer(serializers.ModelSerializer):
owner = serializers.Field(source='owner.id')
class Meta:
model = Album
fields = ('id', 'owner', 'name')
所以问题是,我想隐藏模型序列化为json时的整数id值。例如,具有值
的图像模型实例将变成
{
id: '7VHXHIGMH4XWAKYMPSYYYENYA7NPZ7RGVY6GQJMG3BSIQXWZELNQ====',
owner: 'J2M5BVZB2RCJQNXPN33G2LTMFSAXWPFVFHFTNQSHP56QO3OHFCNA====',
album: 'HCMOMOEEA7YZEI5JJTTXN7LQHOEW3FCRQ7OB6ZMD7UEWISUG7PFA====',
name: 'DSC2091.JPG'
}
另一方面也是如此。 我已经完成了加密,解密和散列部分。 我应该在哪里以及如何才能使此ID安全转换顺利进行?
答案 0 :(得分:0)
序列化的Checkout转换方法:transform_ http://www.django-rest-framework.org/api-guide/serializers/#serializing-objects
此外,验证方法会反过来,因此您可以通过各种方式进行加密。