【发布时间】:2021-01-20 08:30:09
【问题描述】:
我需要根据不区分大小写的电子邮件正则表达式搜索查询数据库以获取用户列表。
User.objects.filter(email__iregex=f'({"|".join(emails)})')
这里的 emails 是一个包含用户电子邮件 ID 的列表。当 emails 是一个空列表时,上面会返回数据库中的所有用户。我无法弄清楚为什么会这样?理想情况下,当 emails 是空列表时,应该返回空查询集。谁能告诉我上面的代码有什么问题。
【问题讨论】:
-
这是完全正常的,因为正则表达式没有开始/开始锚点,因此一个空的正则表达式匹配 everything。
标签: python django django-models