当前位置: 首页 > 面试题库 >

在django ORM中查询时,如何将char转换为整数?

沈单弓
2023-03-14
问题内容

最近开始使用Django ORM。我想执行此查询

 select student_id from students where student_id like "%97318%" order by CAST(student_id as UNSIGNED) desc;   

其中student_id是一个CharField,我希望将其作为整数进行查询。我尝试过

  students.objects.filter(student_id__contains "97318").order('-student_id')

工作良好。但是不知道,也找不到如何将“ student_id”强制转换为int,就像上面用“ Django ORM”提到的实际MySQL查询一样。我应该使用原始查询还是有解决办法?让我知道你的建议。


问题答案:

无需使用的更新替代方法extra是强制转换功能(Django 1.10中的新增功能):

>>> from django.db.models import FloatField
>>> from django.db.models.functions import Cast
>>> Value.objects.create(integer=4)
>>> value = Value.objects.annotate(as_float=Cast('integer', FloatField())).get()> 
>>> p


 类似资料:
  • 问题内容: 有没有办法将a 变成a 或将一个字母变成a (例如如何将a 变成a 和a 变成an )?(如果可以,请链接到相关文档)。 我该如何找到在文档中才隐约知道的类似内容? 问题答案: 您可以通过确定可能涉及的类来查找文档。在这里,候选人是和。 您应该先熟悉以下内容: 原始包装 中的Java Collection框架 它还有助于通过教程更慢地介绍API。 处理字符串中的字符

  • 问题内容: (我是Java编程的新手) 我有例如: 我需要在撇号中得到数字9本身。我尝试执行以下操作 但这没用。 那么我该怎么做才能得到撇号呢? 问题答案: ASCII表的排列方式是使字符的值比的值大九;字符的值比的值大8 ; 等等。 因此,您可以通过减去以获得十进制数字char的int值。

  • 我试图找到一个给定数字的数字之和。例如,将给出。 我的计划是使用,然后使用将数字作为字符迭代。然后我想将迭代中的每个转换为整数,并将其添加到变量中。我想得到这个变量的最终值。 我尝试使用下面的代码将转换为整数: (游乐场) 但它会导致以下错误: 这段代码正是我想做的,但是首先我必须将每个转换成一个字符串,然后转换成一个整数,然后通过增加。 (游乐场)

  • 我使用了cakephp Mysql到mongodb查询组件,即将Mysql查询转换到mongodb中,但是当查询有多个括号时代码停止工作,我还尝试将http://www.querymongo.com/site上的查询转换为相同的问题,

  • 我想在JPA 2.1中将“命名查询”转换为“SQL查询”,并在运行之前对其进行更改。 例如,我有一个命名查询:从CU所在的客户中选择CU。代码=?1,我希望在PAR之后获得查询并对其进行转换和编辑(例如添加模式名称)并创建此查询:从db1.cc1cust cu中选择*其中cu.cc1cod=?1. 我该怎么做? 问候

  • 问题内容: 我正在尝试在jni中将jbyteArray转换为本地c字符串(char *)?不幸的是,我找不到有关该操作的任何文档。我正在C代码中使用以下原型调用Java函数。 在C代码中,我正在调用此函数,该函数返回一个字节数组。该字节数组的内容是一个Java字符串。但是我需要将其转换为ac字符串。 问题答案: 相信您会使用和。就像是: 你应该能够投给在这一点上,以访问数组中的数据。请注意,这可能