python - 过滤用户电子邮件时在 cassandra 中不区分大小写

标签 python cassandra case-insensitive

大家好,我有一个查询,我从网络服务获取用户电子邮件,我想过滤用户电子邮件(小写/大写)由用户在登录时提供:

user = User.objects.filter(email_id=v1_api.payload['email_id']).first()

这里“v1_api”是 flask-restplus 中的蓝图 如果用户输入与数据库相同的电子邮件地址,此代码可以正常工作,但当我写“CAPSLOCK@gmail.com”代替“capslock”时它会抛出异常@gmail.com” 我希望它不区分大小写,无论是小写/大写的电子邮件,它应该始终将其视为小写... 在 SQLAlchemy 等其他数据库中,我们可以通过以下方式执行此操作:

from sqlalchemy import func
user = models.User.query.filter(func.lower(User.username) == func.lower("GaNyE")).first()

但在 cassandra 中我做不到,请建议我如何做......谢谢

最佳答案

在 Cassandra 中无法执行此操作 - Cassandra 会根据您提供的精确值进行查询,它无法在查询期间应用任何函数。因此,当您将数据插入数据库时​​,您需要对电子邮件进行“规范化”。

关于python - 过滤用户电子邮件时在 cassandra 中不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55651439/

相关文章:

python - 如何使用 socketserver 接收大文件?

c# - 在 C# 中压缩字符串并在 python 中解压缩

laravel - 如何整合 Laravel 5.7 和 Cassandra 3.6?

unicode - 大写 utf8 字符是否总是与其小写变体的字节数相同?

python - 将 Timedelta 从 Pandas Dataframe 转换为秒值

python - Pycharm调试 watch : Can I show directly an image

cassandra - 无法在 Windows 10 上启动 Cassandra

solr - Datastax - Cassandra CQL Solr 查询分页问题

django - 如何在 Django ORM 中查询不区分大小写的数据?

c# - 不区分大小写的 StringComparisons 之间的区别?