Skip to content

Instantly share code, notes, and snippets.

@poppingtonic
Last active April 15, 2021 06:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save poppingtonic/792cd601ff9cc4605882865cfb48e1ac to your computer and use it in GitHub Desktop.
Save poppingtonic/792cd601ff9cc4605882865cfb48e1ac to your computer and use it in GitHub Desktop.
import operator
from functools import reduce
results = qs.model.objects.raw(sql, sql_params)
obj_ranks = (obj.id for obj in results)
return_objs = []
# inject rank
for obj_id, objs.items():
return_objs.append(qs.filter(id=obj_id))
if len(return_objs) > 0:
qs = reduce(operator.or_, return_objs)
else:
qs = qs.model.objects.none()
@lewisMachilika
Copy link

Mymodel.objects.filter(pk__in=[i.pk for i in Mymodel.objects.raw("SELECT * FROM mytable")])

This does not work for me
return self.cursor.execute(sql, params) django.db.utils.ProgrammingError: ('The SQL contains 11409 parameter markers, but 76945 parameters were supplied', 'HY000')

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment