title: how to pass a ndb key with a parent and use it to get an entity
body: <p>I pass an NDB Key() with a parent to a deferred function. In this function I retrieve the entity again. But I cannot use the passed key to get the entity directly. I have to change the key order pairing in the ndb.Key().</p>
  
  <pre><code>deferred.defer(my_deferred.a_function, entity.key)  
  </code></pre>
  
  <p>The entity.key() looks like : </p>
  
  <pre><code>Key('Parents', 'my_parent', 'Childs', 'my_child')    # the first pair is the parent?
  </code></pre>
  
  <p>my_deferred.py :</p>
  
  <pre><code>def a_function(key) :
  
      entity = ndb.Key(key)  # the pass entity.key does not work !!!!!
  </code></pre>
  
  <p>Giving exception : ValueError: Key() must have an even number of positional arguments.</p>
  
  <pre><code>    entity = ndb.Key('Childs', key.id(), parent = key.parent()).get() # this one works fine
  </code></pre>
  
  <p>I do not understand why the entity.key() method does not give me a key, which I can use directly? Or is there another way to get the entity, without "changing" the key. And I do not understand the ValueError excpetion.</p>
  
  <p><strong>Update</strong> : Thanks to Gregory</p>
  
  <pre><code>    entity = key.get()    # works fine
  </code></pre>