擅长:python、mysql、java
<p>你需要从字符串中提取数字。Postgres和mysql提供<code>regexp_replace</code>函数(我不确定其他数据库)。但是Django没有提供实现,所以我们将编写自己的<a href="https://docs.djangoproject.com/en/1.11/ref/models/expressions/#func-expressions" rel="nofollow noreferrer">function</a>:</p>
<pre><code>from django.db.models import Func, Value
class RegexpReplace(Func):
function = 'REGEXP_REPLACE'
def __init__(self, expression, search, replace, **extra):
search = Value(search)
replace = Value(replace)
super(RegexpReplace, self).__init__(expression, search, replace, **extra)
</code></pre>
<p>我假设你想把名字拆分到末尾的数字,然后你想用前半部分排序,然后用末尾的数字排序。(这对您来说很好,直到您开始在连字符之前获得3位数字,即SE99-A1、SE100-A1)。在</p>
^{pr2}$