0
когда я запускаю запрос какmongoengine: как запрос на не-ASCII Стрингфилд в EmbeddedDocumentListField
answerSheet = answerSheet.subAnswerSheets.get(
title=subquiz.title)
когда мой титул не-ASCII, я получаю ошибку кодирования по этому методу класса EmbeddedDocumentList в datastructures. py of mongoengine:
@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, он отлично работает. так это моя ошибка или исходный код нуждается в некоторых изменениях?
и использовать его при создании данных и так, что это не вызовет проблемы в дальнейшем. –
Спасибо @Piyush S. Wanare, но извините, это не сработало. при создании данных он вызывает сохранение пустой строки вместо не-ascii без ошибок. и когда вы делаете запрос, если сохраненные строки не являются ascii, снова будет повторяться такая же ошибка UnicodeEncode. Я думаю, что эта проблема касается только EmbeddedDocumentListField, потому что это никогда не происходит в простом документе Inherited Class. – Djafari