'Set up and execute delete queries for all the objects in pk_list.
More than one physical query may be executed if there are a
lot of values in pk_list.'

def delete_batch(self, pk_list, using):

    num_deleted = 0
    field = self.get_meta().pk
    for offset in range(0, len(pk_list), GET_ITERATOR_CHUNK_SIZE):
        self.where = self.where_class()
        self.add_q(Q(**{(field.attname + '__in'): pk_list[offset:(offset + GET_ITERATOR_CHUNK_SIZE)]}))
        num_deleted += self.do_query(self.get_meta().db_table, self.where, using=using)
    return num_deleted
