File tree 2 files changed +12
-2
lines changed
2 files changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -154,8 +154,11 @@ def to_python(self, value):
154
154
155
155
try :
156
156
value = self .crypter ().decrypt (value )
157
+ value = value .decode ('unicode_escape' )
157
158
except keyczar .errors .KeyczarError :
158
159
pass
160
+ except UnicodeEncodeError :
161
+ pass
159
162
160
163
return super (EncryptedFieldMixin , self ).to_python (value )
161
164
@@ -164,7 +167,14 @@ def get_prep_value(self, value):
164
167
165
168
if value is None or value == '' or self .decrypt_only :
166
169
return value
167
- return self .prefix + self .crypter ().encrypt (smart_text (value ))
170
+
171
+ if isinstance (value , types .StringTypes ):
172
+ value = value .encode ('unicode_escape' )
173
+ value = value .encode ('ascii' )
174
+ else :
175
+ value = str (value )
176
+
177
+ return self .prefix + self .crypter ().encrypt (value )
168
178
169
179
def get_db_prep_value (self , value , connection , prepared = False ):
170
180
if not prepared :
Original file line number Diff line number Diff line change @@ -124,7 +124,7 @@ def test_char_field_encrypted(self):
124
124
self .assertEqual (fresh_model .char , plaintext )
125
125
126
126
def test_unicode_encrypted (self ):
127
- plaintext = 'Oh hi, test reader! 🐱'
127
+ plaintext = u 'Oh hi, test reader! 🐱'
128
128
129
129
model = TestModel ()
130
130
model .char = plaintext
You can’t perform that action at this time.
0 commit comments