Django - 为 API 调用传递 json 或 URL 中的数组

Django - Passing a json or an array in URL for an API call

我想通过 API 传递一些变量(作为 JSON 或数组),例如:

{'age': 35, 'gender':'female', ...etc}

我不确定如何将此信息传递到 Djano URL。我可以在 URL 中设置单独的参数,但我有很多要通过。一定有更简单的方法

解决方案: 通过在 API 中切换 POST 调用并为每个变量设置序列化程序以便它们可以通过请求传递来解决。

我正在使用 axios 从 django 后端进行调用。就我而言,我可以这样做:

js.file:

function search(token, status, q) {
    return (dispatch) => {
        dispatch(start(token));
        axios
            .get(`${serverIP}/invoices/sales-invoice/`, {
                params: {
                    status: status,
                    q: q,
                },
            })
            .then((res) => {
                dispatch(successSearch(res.data, status));
            })
            .catch((err) => {
                dispatch(fail(err));
            });
    };
}

这里我发送了 2 个参数,但你实际上可以发送对象,例如用户信息。 而不是在视图中得到它们

views.py:

def list(self, request, *args, **kwargs):
        status = request.query_params.get('status')
        q= request.query_params.get('q')

这些是 DRF 模型视图集的示例