I actually made a bigger mistake and which was thinking that random_indexes would actually be instances id's and they are not. They are QS indexes!!
I changed last line to: 
return [self[index] for index in random_indexes]