Add documentation for EmailType

This commit is contained in:
Andrew Pashkin 2016-10-17 11:02:36 +03:00
parent abf6e65f8a
commit 9e71bbccc9
2 changed files with 35 additions and 0 deletions

View File

@ -63,6 +63,14 @@ CurrencyType
.. autoclass:: Currency
EmailType
---------
.. automodule:: sqlalchemy_utils.types.email
.. autoclass:: EmailType
EncryptedType
-------------

View File

@ -4,6 +4,33 @@ from ..operators import CaseInsensitiveComparator
class EmailType(sa.types.TypeDecorator):
"""
Provides a way for storing emails in a lower case.
Example::
from sqlalchemy_utils import EmailType
class User(Base):
__tablename__ = 'user'
id = sa.Column(sa.Integer, primary_key=True)
name = sa.Column(sa.Unicode(255))
email = sa.Column(EmailType)
user = User()
user.email = 'John.Smith@foo.com'
user.name = 'John Smith'
session.add(user)
session.commit()
# Notice - email in filter() is lowercase.
user = (session.query(User)
.filter(User.email == 'john.smith@foo.com')
.one())
assert user.name == 'John Smith'
"""
impl = sa.Unicode
comparator_factory = CaseInsensitiveComparator