![](/img/trans.png)
[英]Why int() argument must be a string or a number, not 'list'?
[英]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.