When()条件表达式中来自正则表达式的注释

时间:2019-01-25 16:10:46

标签: django django-models django-annotate

我也需要使用then参数(DB为Postgresql)在While()条件表达式中注释正则表达式查询的结果。

例如,您可以使用SubStr()函数获取字段的子字符串,我希望能够使用正则表达式而不是位置子字符串。

我在考虑使用'REGEXP_MATCHES'的一些自定义函数,但是我不确定该怎么做,或者是否有必要。

qs = SomeModel.objects.all()

pattern = r'regex'

qs = qs.annotate(
    match=Case(
        When(
            some_model_field__regex=pattern,
            then=Regex('some_model_field', pattern)
        ),
        output_field=CharField()
    )
)

我希望注释是模式匹配的结果。

0 个答案:

没有答案