Deletion with upsert is not working

Hello @amaster507, Could you help me with this.

I have this query before deletion:

    upsert varQuery($a: string) {
      query {
        a as q(func: uid($a)) @recurse {
          uid
          b as branches
          c as child_groups
        }
      }
      mutation {
        delete {
          uid(a) * * .
          uid(b) * * .
          uid(c) * * .
        }
      }
    }

and this is the variable I am passing.

{'$a': '0x1388a'}

Earlier, upsert does not take variables. but as of now it should take variables.

I am doing the transaction this way:

txn = client.txn(read_only=False)
        try:
            txn.async_mutate(_q, _vars)
            txn.commit()
        finally:
            txn.discard()

Is there anything I am missing here as this is not working on the code level.

I have tried the following methods:

txn.async_query, txn.async_mutate, txn_async_do_request