class LogoTemplateSerializer(serializers.ModelSerializer): temp = Base64ImageField(help_text="台标特征") mask = Base64ImageField(help_text="台标掩码") best = Base64ImageField(help_text="抽样台标") class Meta: model = LogoTemplate fields = "__all__"
class UserDetailSerializer(serializers.ModelSerializer): avatar = Base64ImageField() class Meta: model = UserModel exclude = ('password', 'is_active', 'is_admin') depth = 1
class UploadImageSerializer(serializers.ModelSerializer): image = Base64ImageField(max_length=None, use_url=False, allow_empty_file=False, allow_null=False, required=True) class Meta: model = Image fields = ('name', 'image')
class DogImageUploadSerializer(serializers.ModelSerializer): image = Base64ImageField(max_length=None, use_url=False, required=True) class Meta: model = Picture fields = ('id', 'dog', 'image') def create(self, validated_data): return Picture.objects.create(dog=validated_data['dog'], image=validated_data['image'])
class StdChSerializer(serializers.ModelSerializer): id = serializers.IntegerField(read_only=True, help_text="id") image = Base64ImageField(help_text="台标图片", required=False) alias = AliasChSerializer(source="get_alias", many=True, read_only=True, help_text="别名列表") class Meta: model = StdChName fields = "__all__"
class imageSerializer(ModelSerializer): is_thumb = serializers.BooleanField(default=False) image = Base64ImageField( max_length=None, use_url=True, ) class Meta: model = Image fields = ["image", "is_thumb"]
class UserEditProfilSerializer(ModelSerializer): profile = Base64ImageField(required=False, max_length=None, allow_empty_file=True, use_url=True) class Meta: model = User fields = ["username", "profile", "phone", "email"] def update(self, instance, validated_data): instance.username = validated_data.get("username", instance.username) instance.phone = validated_data.get("phone", instance.phone) instance.profile = validated_data.get("profile", instance.profile) instance.save() return instance
class UserDetailSerilaizer(ModelSerializer): location = SerializerMethodField() order_history = SerializerMethodField() profile = Base64ImageField( max_length=None, use_url=True, ) class Meta: model = User fields = [ "email", "username", "profile", "phone", "location", "order_history" ] def get_location(self, obj): qs = obj.get_location() return LocationSerializer(qs, many=True).data def get_order_history(self, obj): return OrderSeriliazer(obj.get_order_history(), many=True).data