python - Django 对象管理器 'lower' 参数

标签 python django django-queryset

我正在尝试根据其中一个字段名称是否在小写值列表中来过滤掉查询集。麻烦的是这些字段值中有些是大写字母,所以我做不到

all_listings = all_listings.objects.filter(make__name__in=makes)

有没有一种可能的方式来表达

all_listings = all_listings.objects.filter(make__name__lower__in=makes)

最佳答案

你可以尝试使用Lower func

from django.db.models.functions import Lower

all_listings = all_listings.objects.annotate(name_lower=Lower('make__name')).filter(name_lower__in=makes)

关于python - Django 对象管理器 'lower' 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43590711/

相关文章:

python - 你如何在 Django 聚合中动态分配别名?

python - 独立于模型名称设置种类名称(App Engine 数据存储区)

django - 从django.db.models.fields.related导入RelatedManager

python - Django 无法分配 "<django.utils.functional.SimpleLazyObject object at 0x7fc7f010ef50>": "listings.user" must be a "CustomUser" instance

django prefetch_related 不工作

Django - update_or_create

python - 在 Pandas 数据框中写入行并将其附加到现有数据框中

python - Pygame:如何多态地编写事件循环

python - Pandas 如何按间隔按列拆分数据帧

django - Django如何使用post_save信号