相关疑难解决方法(0)

PostgreSQL:如何进行"不区分大小写"的查询

有没有办法在PostgreSQL中编写不区分大小写的查询,例如我希望以下3个查询返回相同的结果.

SELECT id FROM groups where name='administrator'

SELECT id FROM groups where name='ADMINISTRATOR'

SELECT id FROM groups where name='Administrator'
Run Code Online (Sandbox Code Playgroud)

postgresql

295
推荐指数
9
解决办法
23万
查看次数

PostgreSQL独特的索引和字符串大小写

如果我在字段上创建PostgreSQL唯一索引,默认情况下比较不区分大小写?

如果没有,是否可以要求PostgreSQL忽略字符串大小写?

database postgresql indexing

15
推荐指数
1
解决办法
5311
查看次数

Django ORM:MyModel.objects.filter(name__iexact__in = [...])

我有一个字符串列表,我想用Django ORM进行不区分大小写的"in"查找.

我知道,我可以这样做:

name_list = ['Alpha', 'bEtA', 'omegA']
q_list = map(lambda n: Q(name__iexact=n), name_list)
q_list = reduce(lambda a, b: a | b, q_list)
MyModel.objects.filter(q_list)
Run Code Online (Sandbox Code Playgroud)

但也许有更简单的解决方案与更现代的Django ORM?

django-orm

7
推荐指数
1
解决办法
137
查看次数

Django - correct way to convert list to combined OR for Q object

I have QueryDict with list 'value': ['1', '2', '3', '4', '5'] - number of elements is unknown. I need convert this list to filter model using OR condition:

 Poll.objects.get(Q(value__icontains=option[0]) | Q(value__icontains=option[1]))
Run Code Online (Sandbox Code Playgroud)

In SQL:

AND (value LIKE '%1%' OR value LIKE '%2%')
Run Code Online (Sandbox Code Playgroud)

如何实现这个正确又简单的方法呢?

python django

2
推荐指数
1
解决办法
1390
查看次数

标签 统计

postgresql ×2

database ×1

django ×1

django-orm ×1

indexing ×1

python ×1