'Find relationships between thing1 and various thing2s.'

@classmethod
def fast_query(cls, thing1, thing2s):

    (thing2s, thing2s_is_single) = tup(thing2s, ret_is_single=True)
    if (not thing1):
        return {}
    if cls._last_modified_name:
        from r2.models.last_modified import LastModified
        timestamp = LastModified.get(thing1._fullname, cls._last_modified_name)
        if timestamp:
            thing2s = [thing2 for thing2 in thing2s if (thing2._date <= timestamp)]
        else:
            thing2s = []
    if (not thing2s):
        return {}
    try:
        columns = [thing2._id36 for thing2 in thing2s]
        results = cls._cf.get(thing1._id36, columns)
    except NotFoundException:
        results = {}
    if (not thing2s_is_single):
        thing2s_by_id = {thing2._id36: thing2 for thing2 in thing2s}
        return {(thing1, thing2s_by_id[k]): v for (k, v) in results.iteritems()}
    elif results:
        assert (len(results) == 1)
        return results.values()[0]
    else:
        raise NotFound(('<%s    %r>' % (cls.__name__, (thing1._id36, thing2._id36))))
