2013-11-14 2 views
1

Я пытаюсь построить запрос, который возвращает все объекты, имеющие определенный адрес электронной почты, в своем ListField(EmailField()).Mongoengine проверить, содержится ли целая строка, не чувствительная к строкам, в ListField()

Я попытался с mongoengine, выполнив

User.Objects.filter(emaillist__contains=email) 

Проблема заключается в том, когда emailstring подстрока электронной почты, содержащейся в адресов электронной, объект возвращается как хорошо. Однако я хочу, чтобы он возвращался, когда вся строка, не чувствительная к регистру, содержалась в Listfield.

Возможно ли это как-то или путем выполнения необработанного запроса? Любые подсказки или помощь очень ценятся!

Jonas

+1

Пробовал ли вы простейший подход, как показано на этом [link] (http://docs.mongoengine.org/en/latest/tutorial.html#searching-our-posts-by-tag)? Просто спрашивать emaillist? – Marius

ответ

2

В documentation они имеют эту модель, похожую на Ваши адреса электронный:

class Post(Document): 
    tags = ListField(StringField(max_length=30)) 

И вопрос как это:

for post in Post.objects(tags='mongodb'): 
    print post.title 

Таким образом, ваш запрос должен работать, как это (с нечувствительностью к регистру):

User.Objects.filter(emaillist__iexact=email) 

 Смежные вопросы

  • Нет связанных вопросов^_^