Q:

Parse Query overrides new query over old one?

I'm doing parse query to get data but new query parameter overrides old one.
In my app user can block other users. When its done I write a "Block" object to database like this
I block other user:
ParseObject block = new ParseObject("Block");                                
block.put("owner",ParseUser.getCurrentUser());                                                
block.put("who",otherUser);

when I get data I use this query.
    //I blocked him. dont sow me his data.
    ParseQuery<ParseObject> benblock= new ParseQuery<ParseObject>("Block");
    benblock.whereEqualTo("owner", ParseUser.getCurrentUser());

    //He blocked me dont show me his data.
    ParseQuery<ParseObject> oblock = new ParseQuery<ParseObject>("Block");                
    oblock.whereEqualTo("who",ParseUser.getCurrentUser());

    query.whereDoesNotMatchKeyInQuery("user","owner",oblock);  //This line doesn't work                
    query.whereDoesNotMatchKeyInQuery("user","who",benblock);  //But this line does.

But when i retrieve data first query option
query.whereDoesNotMatchKeyInQuery("user","owner",oblock); 

doesnt work only last one
 query.whereDoesNotMatchKeyInQuery("user","who",benblock);

works. How can I fix this.

A:

I solved my issue by doing this.
According to this(https://github.com/parse-community/Parse-SDK-Android/issues/211#issuecomment-150047052) Parse query override whereDoesNotMatchKeyInQuery only for the same key. Which meand I can use that parameter twice in a same query but not same key. And I just created same value with different key.
Previous my object was like this
    ParseObject object = new ParseObject("DataClass");
    object.put("post",post);
    object.put("user",user);

Now It looks like this:
    ParseObject object = new ParseObject("DataClass");
    object.put("post",post);
    object.put("user",user);
    object.put("user2",user);//same user with the above one

And I do query like this:
ParseQuery<ParseObject> benblock= new ParseQuery<ParseObject>("Block");
benblock.whereEqualTo("owner", ParseUser.getCurrentUser());

ParseQuery<ParseObject> oblock = new ParseQuery<ParseObject>("Block");
oblock.whereEqualTo("who",ParseUser.getCurrentUser());

hashtag.whereDoesNotMatchKeyInQuery("user","owner",oblock);
hashtag.whereDoesNotMatchKeyInQuery("user2","who",benblock);

