【问题标题】:Django ORM queryset substring on a column列上的 Django ORM 查询集子字符串
【发布时间】:2019-05-30 21:25:17
【问题描述】:

考虑下面 mysql 表 Employee 中的列。

emp_number
4-PQR-A111
3-MNO-333
2-DEF-222
1-ABC-111

我需要为下面的 mysql 查询编写 django orm 查询,该查询在 emp_number 列上按“-”拆分并与最后一个索引匹配。

SELECT * from Employee WHERE substring_index(emp_number, '-', -1) = '111';

我不能在下面的列上写结尾:

Employee.objects.filter(emp_number__endswith='111').values('emp_number')

这将返回以下 2 条记录,我预计只有一条记录。

4-PQR-A111
1-ABC-111

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: django django-orm


    【解决方案1】:

    Employee.objects.filter(emp_number__endswith='-111').values('emp_number') 怎么样?

    您可以使用Employee.objects.filter(emp_number__endswith='-{}'.format(end_number)).values('emp_number'),其中end_number 是您希望员工编号应以结尾的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 2020-09-23
      • 2012-03-28
      • 2021-02-19
      • 2019-03-20
      • 2020-05-26
      • 2014-05-19
      相关资源
      最近更新 更多