manually create a Django QuerySet or rather manually add objects to a QuerySet

If you’re simply looking to create a queryset of items that you choose through some complicated process not representable in SQL you could always use the __in operator.

wanted_items = set()
for item in model1.objects.all():
    if check_want_item(item):
        wanted_items.add(item.pk)

return model1.objects.filter(pk__in = wanted_items)

You’ll obviously have to adapt this to your situation but it should at least give you a starting point.

Leave a Comment