Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- RE_REPLACEMENTS = {
- "postgresql": [
- ("{begin-word}", r"\m"),
- ("{end-word}", r"\M"),
- ],
- "mysql": [
- ("{begin-word}", "[[:<:]]"),
- ("{end-word}", "[[:>:]]"),
- ],
- "oracle": [
- ("{begin-word}", r"(^|\W)"), # HACK!
- ("{end-word}", r"(\W|$)"), # HACK!
- ],
- "_default_": [
- ("{begin-word}", r"\b"),
- ("{end-word}", r"\b"),
- ]
- }
- def regexp_for_django_orm(re_regexp):
- from django.db import connection
- rules = RE_REPLACEMENTS.get(connection.vendor, RE_REPLACEMENTS["_default_"])
- for pattern, replacement in rules:
- re_regexp = re_regexp.replace(pattern, replacement)
- return re_regexp
- #usage
- MyModel.objects.filter(column_iregex = regexp_for_django_orm("{begin-word}WORD{end-word}") )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement