def get_related(self, field, value, Klass, delimiter='%'):
        fields = map(lambda s: s.strip(), field.split('%'))
        if '%' not in field or len(fields) < 1:
            raise ValidationError(
                "We need to determine what fields to search for when looking "
                "for objects coresponding to the {0} header. Please specify "
                "some filter fields by doing something like: "
                "{0}%({1})'".format(
                    field, ' | '.join(self.get_field_names(Klass))
                )
            )
        fields = fields[1:]
        values = map(lambda s: s.strip(), value.split('%'))
        search = dict(zip(fields, values))

        try:
            obj = self.get_realted_from_dict(search, Klass)
        except FieldError, e:
            raise Exception(
                "When trying to use resolve a(n) {0}, got the error "
                "{1}".format(Klass.__name__, str(e))
            )
        if obj:
            return obj
        self.cannot_find(field, value)
Params
dataset/ETHPy150Open mozilla/inventory/mcsv/resolver.py/Resolver.get_related--crossover with--dataset/ETHPy150Open zcutlip/broken_abandoned/part_6/firmware_building/firmware_headers/mystery_header.py/MysteryHeader.__init__