首页 > 解决方案 > Python exchangelib 支持过滤路径主题的多个字符串

问题描述

我正在尝试搜索具有多个主题的电子邮件,但它只支持我的代码中的单个主题字符串。如果搜索中缺少主题,我也希望它打印出来。

if not testfolder.filter(
    datetime_received__gt=since, 
    sender='anon@anon.dk',
    subject__icontains=['Backup - no index - Friday','backup - with no index']
    ).exists():
    print('Log mangler.. Sender Ticket til Kayako....')
else:
    print('email found')

ValueError: Value ['Backup - no index - Friday', 'backup - with no index'] 字段路径“主题”上的过滤器必须是单个值

标签: pythonoutlookexchangelib

解决方案


您可以Q()为此使用对象和布尔逻辑。见https://ecederstrand.github.io/exchangelib/#searching

例如:

.filter(Q(subject__icontains='Backup - no index - Friday') | Q(subject__icontains='backup - with no index'))

推荐阅读