Python 当我执行TradeRecord.objects.create(**TradeRecord\u data)时,会出现TypeError

Python 当我执行TradeRecord.objects.create(**TradeRecord\u data)时,会出现TypeError,python,django,django-rest-framework,Python,Django,Django Rest Framework,在序列化程序中,我重写了create方法: class CloudServerPayOrderSerializer(ModelSerializer): class Meta: model = TradeRecord exclude = ( 'id', 'name', 'traderecord_num', 'money', 'balanc

在序列化程序中,我重写了create方法:

class CloudServerPayOrderSerializer(ModelSerializer):

 class Meta:
        model = TradeRecord
        exclude = (
            'id',
            'name',
            'traderecord_num',  

            'money',
            'balance',
            'desc', # 自己生成
        )
    def create(self, validated_data):

        # 先支付 TODO

        # 再生成交易记录
        user = getUserFormSerializer(self)

        # --- 数据
        name = "购买云服务器"
        traderecord_num = generateTradeRecordNum(userid=user.id)
        #order_id = validated_data.pop("order")
        #order = Order.objects.get(id=order_id)
        order = validated_data.pop("order")
        order.order_status = "已支付,未完成"
        order.save()
        paytype = validated_data.pop("paytype")
        money = order.cost
        account = Account.objects.get(user=user)
        balance = account.balance
        desc = "购买云服务器"

        traderecord_data = {
            "traderecord_num": traderecord_num,
            "name":name,
            "order": order,
            "money": money,
            "balance": balance,
            "paytype":paytype,
            "desc":desc,
        }

        traderecord = TradeRecord.objects.create(**traderecord_data)
        return traderecord
但是当我执行
traderecord=traderecord.objects.create(**traderecord\u data)
行时,我得到TypeError:

在/api/userfront\u product/cloudserver/order/pay/
init()获得意外的关键字参数“paytype”

当调试
traderecord=traderecord.objects.create(**traderecord\u data)
步骤时,我使用debug对其进行测试:

我还复制了数据:

{'paytype': '支付宝', 'order': <Order: 用户名:
vcpus:1核
ram:1G
系统盘:SSD40GB
数据盘:SSD0GB
1M
>, 'money': Decimal('220.00'), 'name': '购买云服务器', 'traderecord_num': 'TRN15113262838882', 'desc': '购买云服务器', 'balance': Decimal('0.00')}

我认为traderecord_的数据非常好,但是为什么会出现类型错误呢

出现此错误是因为您已重写了
TradeRecord。\uuuu init\uuuu
,删除该错误,您的模型将正常工作

class TradeRecord(models.Model):
    traderecord_num = models.CharField(unique=True, max_length=32, help_text="交易记录编号")
    name = models.CharField(max_length=64, help_text="交易记录名称")
    order = models.OneToOneField(to=Order, null=True , related_name="traderecord", help_text="对应的订单")
    money = models.DecimalField(
        decimal_places=2, default=0.0, max_digits=8, help_text="交易记录金额"
    )  # 正:代表账户入款 负:出款
    balance = models.DecimalField(
        decimal_places=2, default=0.0, max_digits=8, help_text="此交易结束后的余额"
    )
    paytype = models.CharField(max_length=16, help_text="支付方式")
    desc = models.CharField(max_length=128, help_text="此交易记录的描述")
    ctime = models.DateTimeField(auto_now_add=True, help_text="此交易记录的时间")  # 创建时间
    uptime = models.DateTimeField(auto_now=True)  # 更新时间

    def __init__(self):
        return self.desc
    def __unicode__(self):
        return self.desc