我也需要使用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()
)
)
我希望注释是模式匹配的结果。