You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用**kwargs时views层字典无法正确传递至models层函数问题

问题根源

你调用isAvailable时传入的是data=request.data,形参**kwargs只会将其解析为一个键为data、值为整个request.data字典的键值对,因此你直接从kwargs中读取bookedDate等字段必然返回空。

解决方案

方案1:修改传参逻辑,将字典展开为关键字参数

调整views.py中的调用写法,用**把request.data的键值对直接展开传入函数:

def bookingAvailable(request):
    available = isAvailable(**request.data)

该方案无需修改models.py中原有的函数逻辑,即可直接从kwargs中读取到对应字段。

方案2:修改函数取值逻辑,保留现有传参方式

如果要维持data=request.data的传参写法,调整models.py中函数的取值逻辑即可:

def isAvailable(**kwargs):
    # 先取出传入的data字典
    data = kwargs.get('data', {})
    # 再从data字典中读取对应字段
    bookedDate = data.get('bookedDate')
    customerID = data.get('customerID')
    cpID = data.get('cpID')

注意事项

如果选择方案1,需确保request.data中的键名和你要读取的字段名完全一致,无拼写或大小写差异。


内容的提问来源于stack exchange,提问作者Jon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:45:05