Yes you have to save the result and then restore it.
job = group([
single_test.s(1, 1),
single_test.s(1, 2),
single_test.s(1, 3),
])
result = job.apply_async()
result.save()
from celery.result import GroupResult
saved_result = GroupResult.restore(result.id)
I had the same issue and after seeing your hint about save/restore eventually figured it out.