簡體   English   中英

GraphQL 錯誤:int() 參數必須是字符串或數字,而不是“列表”

[英]GraphQL error: int() argument must be a string or a number, not 'list'

我有這個突變:

export const SET_CART_MUTATION = gql`mutation setCartMutation($vendorSlug: String!, $sessionId: String, $productId:[Int!], $prices:[PriceInput]) {
  setCart(vendorSlug: $vendorSlug, sessionId: $sessionId, productId:$productId, prices:$prices) {
    cart {
      ${CART_FIELDS}
    }
    allTicketsAdded
  }
}`

我想創建一個 productId 數組,但是當我變異時:我得到:

Mutation error: Error: GraphQL error: int() argument must be a string or a number, not 'list'

我的 setCart class 是:

class SetCart(graphene.Mutation):
    class Arguments:
        vendor_slug = graphene.String()
        session_id = graphene.String()
        product_id = graphene.List(graphene.Int)
        prices = graphene.List(PriceInput)

感謝您的幫助,並提出問題。

我解決了,

如果您有相同的錯誤並且您確定這是突變 arguments 與聲明的類型相同:問題來自您的突變 function:

def mutate(self, info, vendor_slug, session_id, products, prices, participants):
        # ? List of products given
        products = Product.objects.get(id=product)
        cart = Order.objects.get_cart(
            vendor_slug, info.context.user, session_id)

錯誤來自Product.objects.get(id=product)因為 product 是一個數組更正:

products = [Product.objects.get(id=product) for product in products]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM