code: def append_lookup_key(model, lookup_key):
      "Transform spanned__lookup__key into all possible translation versions, on all levels"
      pieces = lookup_key.split('__', 1)
  
      fields = append_translated(model, (pieces[0],))
  
      if len(pieces) > 1:
          # Check if we are doing a lookup to a related trans model
          fields_to_trans_models = get_fields_to_translatable_models(model)
          if pieces[0] in fields_to_trans_models:
              transmodel = fields_to_trans_models[pieces[0]]
              rest = append_lookup_key(transmodel, pieces[1])
              fields = set('__'.join(pr) for pr in itertools.product(fields, rest))
          else:
              fields = set('%s__%s' % (f, pieces[1]) for f in fields)
      return fieldf append_lookup_key(model, lookup_key):
      "Transform spanned__lookup__key into all possible translation versions, on all levels"
      pieces = lookup_key.split('__', 1)
  
      fields = append_translated(model, (pieces[0],))
  
      if len(pieces) > 1:
          # Check if we are doing a lookup to a related trans model
          fields_to_trans_models = get_fields_to_translatable_models(model)
          if pieces[0] in fields_to_trans_models:
              transmodel = fields_to_trans_models[pieces[0]]
              rest = append_lookup_key(transmodel, pieces[1])
              fields = set('__'.join(pr) for pr in itertools.product(fields, rest))
          else:
              fields = set('%s__%s' % (f, pieces[1]) for f in fields)
      return fields
docs: Transform spanned__lookup__key into all possible translation versions, on all levels