Parse Error: Invalid WHERE Identifier at symbol (

Parse Error: Invalid WHERE Identifier at symbol (

我正在尝试使用可选参数获取结果。

result = Tester.gql("WHERE (first_name IS NULL OR first_name = :first_name)"
                                "AND (last_name IS NULL OR last_name = :last_name)"
                                "AND (birth_date IS NULL OR birth_date = :birth_date)"
                                "AND (test_voucher IS NULL OR test_voucher = :test_voucher)", first_name=first_name,
                                last_name=last_name, birth_date=birth_date, test_voucher=test_voucher)

但是,我在使用此 GQL 脚本时遇到有关解析的错误。

{
    "error": {
        "message": "Parse Error: Invalid WHERE Identifier at symbol ("
    }
}

我想弄清楚我的 GQL 脚本中有什么问题。提前致谢

我认为 GQL 无效:

  • 没有提到对复合条件使用“(”和“)”(我认为这是你看到的错误的原因),唯一有效的条件构造是(来自 GQL Reference):

    [ WHERE <compound-condition> ]
    
    <compound-condition> := <condition>+AND
    
    <condition> :=
      <property-name> IS NULL
    | <property-name> <forward-comparator> <value>
    | <value> <backward-comparator> <property-name>
    
  • GQL中没有OR运算符,所以不需要分组,见(还吐槽括号)