如何使用Django模型进行不区分大小写的查询

时间:2013-01-01 23:02:39

标签: django django-models

我的member模型包含email字段。我最近意识到,如果电子邮件的一部分是大写的,如果我尝试通过电子邮件进行过滤,它将不会显示在Django查询中(多个成员对象具有相同的电子邮件,但可能不会大写)。我可以在将所有电子邮件输入数据库时​​将其设置为小写,但现在已经太晚了(因为网站已经启动)。那么如何查看谁拥有某个电子邮件,而不区分大小写呢?

2 个答案:

答案 0 :(得分:42)

只需使用iexact

User.objects.filter(email__iexact='email@email.com')
  

不区分大小写的完全匹配。如果为比较提供的值为None,则将其解释为SQL NULL(有关更多详细信息,请参阅isnull)。

答案 1 :(得分:3)

Member.objects.filter(email__iexact=email)