Django/orm
검색 기능 splite기능 annotate만들어서 사용
두잇 두두
2024. 1. 2. 16:03
728x90
검색 기능을 구현 중에 db에 있는 값을 split
from django.db.models import Func, CharField
class StripWhitespace(Func):
function = 'REGEXP_REPLACE'
template = "%(function)s(%(expressions)s, '\\s', '', 'g')"
output_field = CharField()
proposals = proposals.annotate(
stripped_name=StripWhitespace('name')
)
proposals = proposals.filter(stripped_name__icontains=keyword)
annotate시 만들어둔 클래스를 통해서 name을 쪼개 비교