Skip to content

Instantly share code, notes, and snippets.

@foger
Forked from simonw/sql_replace_in_django_orm.py
Created November 21, 2018 10:58
Show Gist options
  • Save foger/b428d2f96e4b4ebb649710d5602a722b to your computer and use it in GitHub Desktop.
Save foger/b428d2f96e4b4ebb649710d5602a722b to your computer and use it in GitHub Desktop.
How to use the SQL replace function in a Django ORM query
from django.db.models import F, Func, Value
from myapp.models import MyModel
# Annotation
MyModel.objects.filter(description__icontains='\r\n').annotate(
fixed_description=Func(
F('description'),
Value('\r\n'), Value('\n'),
function='replace',
)
)
# Bulk replace/fix
MyModel.objects.filter(description__icontains='\r\n').update(
description=Func(
F('description'),
Value('\r\n'), Value('\n'),
function='replace',
)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment