gpt4 book ai didi

django - Django 模型中的 lower()

转载 作者:行者123 更新时间:2023-12-05 01:43:27 24 4
gpt4 key购买 nike

这是我的查询

SELECT * FROM `music` where lower(music.name) = "hello"

我怎样才能用django发送这个查询

我试过了,但它没有在查询中添加 lower

>>> Music.objects.filter(name__iexact="hello")
(0.144) SELECT `music`.`id`, `music`.`name`, `music`.`artist`, `music`.`image`, `music`.`duration`, `music`.`release_date`, `music`.`is_persian` FROM `music` WHERE `music`.`name` LIKE 'hello' LIMIT 21; args=('hello',)
<QuerySet []>

最佳答案

您可以使用 Lower database function如下所示。

>>> from django.db.models.functions import Lower
>>> lower_name_music = Music.objects.annotate(lower_name=Lower('name'))
>>> lower_name_music.filter(lower_name__iexact="hello")
  • 第一个语句是导入数据库函数。

  • 第二个语句是添加名为 lower_name 的计算列,使用name 列上的较低函数。此时数据库还没有查询。

  • 第三条语句是使用计算列进行过滤。作为这个语句打印出结果,实际执行查询数据库。

关于django - Django 模型中的 lower(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49347238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com