mongoengine-mls

MultiLingualField for MongoEngine


License
BSD-3-Clause
Install
pip install mongoengine-mls==1.1.0

Documentation

MultiLingualField for MongoEngine (for Python 2k and 3k)

https://travis-ci.org/rembish/mongoengine-mls.svg?branch=master

Simple extension for MongoEngine, which adds MultiLingualField (based on MultiLingualString). Some self-describing examples:

from locale import setlocale, LC_ALL
from mongoengine import Document, connect
from mongoengine_mls import MultiLingualField

class Country(Document):
    meta = {"indexes": ["name.language"]}
    name = MultiLingualField(required=True)

setlocale(LC_ALL, "en_US.UTF-8")
connect("test")

ru = Country(name={"en": "Russia", "ru": u"Россия"})
ru.save()

print(ru.name)  # => Russia
print(ru.name >> "ru")  # => Россия

ru2 = Country.objects.first()
ru2.name = [
    {"language": "en", "value": "Russian Federation"},
    {"language": "ru", "value": u"Российская ЀСдСрация"}
]
ru2.save()

print(ru2.name)  # => Russia Federation
print(type(ru2.name))  # => <class 'mls.MultiLingualString'>