列上的Django ORM queryset子字符串

时间:2019-01-04 10:01:38

标签: django django-orm

考虑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';

我不能在以下列上写endswith:

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

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

4-PQR-A111
1-ABC-111

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

1 个答案:

答案 0 :(得分:2)

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

OR

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