@@ -16,25 +16,25 @@ def to_internal_value(self, data):
1616 try :
1717 data = webcolors .hex_to_name (data )
1818 except ValueError :
19- raise serializers .ValidationError (' Для этого цвета нет имени' )
19+ raise serializers .ValidationError (" Для этого цвета нет имени" )
2020 return data
2121
2222
2323class AchievementSerializer (serializers .ModelSerializer ):
24- achievement_name = serializers .CharField (source = ' name' )
24+ achievement_name = serializers .CharField (source = " name" )
2525
2626 class Meta :
2727 model = Achievement
28- fields = ('id' , ' achievement_name' )
28+ fields = ("id" , " achievement_name" )
2929
3030
3131class Base64ImageField (serializers .ImageField ):
3232 def to_internal_value (self , data ):
33- if isinstance (data , str ) and data .startswith (' data:image' ):
34- format , imgstr = data .split (' ;base64,' )
35- ext = format .split ('/' )[- 1 ]
33+ if isinstance (data , str ) and data .startswith (" data:image" ):
34+ format , imgstr = data .split (" ;base64," )
35+ ext = format .split ("/" )[- 1 ]
3636
37- data = ContentFile (base64 .b64decode (imgstr ), name = ' temp.' + ext )
37+ data = ContentFile (base64 .b64decode (imgstr ), name = " temp." + ext )
3838
3939 return super ().to_internal_value (data )
4040
@@ -45,17 +45,24 @@ class CatSerializer(serializers.ModelSerializer):
4545 age = serializers .SerializerMethodField ()
4646 image = Base64ImageField (required = False , allow_null = True )
4747 image_url = serializers .SerializerMethodField (
48- ' get_image_url' ,
48+ " get_image_url" ,
4949 read_only = True ,
5050 )
5151
5252 class Meta :
5353 model = Cat
5454 fields = (
55- 'id' , 'name' , 'color' , 'birth_year' , 'achievements' ,
56- 'owner' , 'age' , 'image' , 'image_url'
55+ "id" ,
56+ "name" ,
57+ "color" ,
58+ "birth_year" ,
59+ "achievements" ,
60+ "owner" ,
61+ "age" ,
62+ "image" ,
63+ "image_url" ,
5764 )
58- read_only_fields = (' owner' ,)
65+ read_only_fields = (" owner" ,)
5966
6067 def get_image_url (self , obj ):
6168 if obj .image :
@@ -66,10 +73,10 @@ def get_age(self, obj):
6673 return dt .datetime .now ().year - obj .birth_year
6774
6875 def create (self , validated_data ):
69- if ' achievements' not in self .initial_data :
76+ if " achievements" not in self .initial_data :
7077 cat = Cat .objects .create (** validated_data )
7178 return cat
72- achievements = validated_data .pop (' achievements' )
79+ achievements = validated_data .pop (" achievements" )
7380 cat = Cat .objects .create (** validated_data )
7481 for achievement in achievements :
7582 current_achievement , status = Achievement .objects .get_or_create (
@@ -81,18 +88,18 @@ def create(self, validated_data):
8188 return cat
8289
8390 def update (self , instance , validated_data ):
84- instance .name = validated_data .get (' name' , instance .name )
85- instance .color = validated_data .get (' color' , instance .color )
91+ instance .name = validated_data .get (" name" , instance .name )
92+ instance .color = validated_data .get (" color" , instance .color )
8693 instance .birth_year = validated_data .get (
87- ' birth_year' , instance .birth_year
94+ " birth_year" , instance .birth_year
8895 )
89- instance .image = validated_data .get (' image' , instance .image )
96+ instance .image = validated_data .get (" image" , instance .image )
9097
91- if ' achievements' not in validated_data :
98+ if " achievements" not in validated_data :
9299 instance .save ()
93100 return instance
94101
95- achievements_data = validated_data .pop (' achievements' )
102+ achievements_data = validated_data .pop (" achievements" )
96103 lst = []
97104 for achievement in achievements_data :
98105 current_achievement , status = Achievement .objects .get_or_create (
0 commit comments