gpt4 book ai didi

python - 类型错误 : defined function got an unexpected keyword argument 'many

转载 作者:行者123 更新时间:2023-12-04 01:35:38 26 4
gpt4 key购买 nike

我的 python 应用程序有问题。我正在关注发布在以下位置的教程:https://auth0.com/blog/developing-restful-apis-with-python-and-flask/

我尝试通过 power-shell 将数据发布到应用程序:

$params = @{amount=80; description='test_doc'}
Invoke-WebRequest -Uri http://127.0.0.1:5000/incomes -Method POST -Body ($params|ConvertTo-Json) -ContentType "application/json"

当我运行 PS 脚本时,我的 python 应用程序出现错误:
TypeError: make_income() got an unexpected keyword argument 'many'

我的代码如下所示:
from marshmallow import post_load

from .transaction import Transaction, TransactionSchema
from .transaction_type import TransactionType


class Income(Transaction):
def __init__(self, description, amount):
super(Income, self).__init__(description, amount, TransactionType.INCOME)

def __repr__(self):
return '<Income(name={self.description!r})>'.format(self=self)


class IncomeSchema(TransactionSchema):
@post_load
def make_income(self, data):
return Income(**data)

我如何得到论证 many进入我的功能?这是棉花糖的问题吗?

我试过添加 **但我得到了同样的错误:
 def make_income(self, **data):
return Income(**data)

我也试过
def make_income(self, data, **kwargs):
return Income(**data)

这是我的 transaction.py 文件
import datetime as dt

from marshmallow import Schema, fields


class Transaction():
def __init__(self, description, amount, type):
self.description = description
self.amount = amount
self.created_at = dt.datetime.now()
self.type = type

def __repr__(self):
return '<Transaction(name={self.description!r})>'.format(self=self)


class TransactionSchema(Schema):
description = fields.Str()
amount = fields.Number()
created_at = fields.Date()
type = fields.Str()

最佳答案

在 marsmallow 3 中,装饰方法(pre/post_dump/load,...)必须吞下未知的 kwargs。

class IncomeSchema(TransactionSchema):
@post_load
def make_income(self, data, **kwargs):
return Income(**data)


(您可能需要就此通知博客作者。)

关于python - 类型错误 : defined function got an unexpected keyword argument 'many,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59699234/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com