mongoengine:如何在EmbeddedDocumentListField中查询非ascii StringField

时间:2016-07-26 12:23:06

标签: python django mongoengine

当我运行像

这样的查询时
answerSheet = answerSheet.subAnswerSheets.get(
        title=subquiz.title)

当我的标题是非ascii时,我在mongoengine的datastructures.py中的EmbeddedDocumentList类的这个方法上得到编码错误:

@classmethod
def __match_all(cls, i, kwargs):
    items = kwargs.items()
    return all([
        getattr(i, k) == v or str(getattr(i, k)) == v for k, v in items
    ])

当我删除str cast时,它工作正常。那么我的错误或源代码是否需要进行一些更改?

1 个答案:

答案 0 :(得分:0)

希望这对你有用:

title = subquiz.title.encode('ascii',errors='ignore')