我们从Python开源项目中,提取了以下3个代码示例,用于说明如何使用rest_framework.serializers.ImageField()。
def _postsave(self, validated_data, instance): for field, value in validated_data.items(): # Optimize images with TinyPNG if type(self.Meta.model._meta.get_field(field)) == models.models.ImageField: value = getattr(instance, field) filename = value.name content = value.read() if not content: setattr(instance, field, None) continue image = shrinkImageFromData(content, filename, settings=getattr(self.Meta.model, 'tinypng_settings', {}).get(field, {})) image.name = self.Meta.model._meta.get_field(field).upload_to(instance, filename) setattr(instance, field, image) return instance
def test_should_image_convert_string(): assert_conversion(serializers.ImageField, graphene.String)
def to_representation(self, obj): if isinstance(obj,UserProfile): return super(UserProfileSerializer,self).to_representation(obj) serializer = TokenSerializer(obj) return serializer.data # class ScoreSerializer(serializers.ModelSerializer): # UserId = serializers.IntegerField(source='GiverPersonId_id',read_only=True) #Read olurken hangi user in verdigini anlamak icin kullanilir # Score = serializers.IntegerField(source='Point') # Name = serializers.CharField(source='GiverPersonId.user.first_name',read_only=True) # Image = serializers.ImageField(source='GiverPersonId.Photo', max_length=None, use_url=True, read_only=True) # class Meta(object): # model = Score # fields = ('Score','UserId','Name','Image') # def create(self, validated_data): # taker = self.context['view'].kwargs['pk'] # score = Score.objects.create(TakerPersonId_id=taker ,GiverPersonId_id=self.context['request'].user.id, **validated_data) # scores = Score.objects.filter(TakerPersonId_id=taker) # total = 0.0 # for score in scores: # total += score.Point # avarage_score = total / len(scores) # user = UserProfile.objects.get(pk=taker) # user.Score = avarage_score # user.save() # return {'IsSuccess':True,'context':''} # def to_representation(self, obj): # if isinstance(obj,Score): # return super(ScoreSerializer,self).to_representation(obj) # serializer = ResultSerializer(obj) # return serializer.data