首页 > 解决方案 > 在 python 中创建 GraphQL 查询

问题描述

我想修改这个字符串:

query = """
    mutation { 
     productUpdate(input: {id: "gid://shopify/Product/463...03", title: "test", descriptionHtml: "Amazing product"}) {
       product {
         id
       }
       userErrors {
         field
         message
        }
      }
     }
  """

我试图用一个变量代替“测试”和“惊人的产品”。通常我会使用 f 字符串来执行此操作,但由于 GraphQL 括号我无法执行此操作。

有谁知道如何解决这个问题?

非常感谢!

标签: pythongraphql

解决方案


您可以将花括号加倍以逃避它们:

my_title = "The Title"
my_description = "The description"

query = f"""
    mutation {{ 
     productUpdate(input: {{id: "gid://shopify/Product/463...03", title: "{my_title}", descriptionHtml: "{my_description}"}}) {{
       product {{
         id
       }}
       userErrors {{
         field
         message
        }}
      }}
     }}
  """

https://docs.python.org/3/reference/lexical_analysis.html#formatted-string-literals


推荐阅读