MongoEngine是否有现成的多语言字符串字段?

2024-09-23 22:27:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找MongoEngine的多语言StringField的任何开源实现。在

我可以自己做,但如果有一个,我认为最好是利用它,并为它作出贡献。在

我想要的是一个字段,它可以知道不同语言中同一属性的不同值,例如

class MyDoc(Document):
    name = MultilingualString()

my_doc = MyDoc.objects.first()

# storing value
my_doc.name.en = 'My Document'

# outputs stored value 'Mein Dokument'
print(my_doc.name.de)

我认为在内部使用DictField实现这样的字段是相当容易的。在

附言:是的,这真的很像蒙古吉特人的方式。在


Tags: name语言利用doc属性valuemy开源
2条回答

现在就在这里。在

"mongoengine-multilingual-field" project

用法:

from mongoengine import Document
from multilingual_field.fields import MultilingualStringField

class MyDoc(Document):
    name = MultilingualStringField()

doc = MyDoc(name={'en': 'Hermitage', 'ru': u'Эрмитаж'})
doc.translate('en')
doc.name  #  'Hermitage'
doc.translate('ru')
doc.name  #  u'Эрмитаж'
doc.translate('en')
doc.name = 'The Hermitage'
doc.name.translations  # {'en_US.ISO8859-1': 'The Hermitage', 'ru_RU.UTF-8': u'Эрмитаж'}

以下是MongoDB中的外观:

^{pr2}$

它允许通过(value, lang)定义有效索引,以便快速搜索值,并使用规范化的区域名称作为lang代码。在

但是,在快速浏览了MongoKit之后,目前还没有一个我所知道的实现——数据被存储为一个字典,而当前设置的语言是语法糖。在

很高兴在http://github.com/mongoengine/mongoengine接受请求

相关问题 更多 >