diff --git a/sqlalchemy_utils/types.py b/sqlalchemy_utils/types.py index ec447b7..e7da978 100644 --- a/sqlalchemy_utils/types.py +++ b/sqlalchemy_utils/types.py @@ -49,6 +49,12 @@ class PhoneNumber(phonenumbers.phonenumber.PhoneNumber): def is_valid_number(self): return phonenumbers.is_valid_number(self._phone_number) + def __unicode__(self): + return self.national + + def __str__(self): + return unicode(self).encode('utf-8') + class PhoneNumberType(types.TypeDecorator): """ diff --git a/tests/test_phonenumber_type.py b/tests/test_phonenumber_type.py index 5f1587e..41bbfcd 100644 --- a/tests/test_phonenumber_type.py +++ b/tests/test_phonenumber_type.py @@ -39,6 +39,11 @@ class TestPhoneNumber(object): assert phone_number.international == u'+358 40 1234567' assert phone_number.national == u'040 1234567' + def test_phone_number_str_repr(self): + phone_number = PhoneNumber('+358401234567') + assert phone_number.__unicode__() == phone_number.national + assert phone_number.__str__() == phone_number.national.encode('utf-8') + class TestPhoneNumberType(TestCase): def setup_method(self, method):