Django REST Framework 从 API 响应中的超链接呈现结果
Django REST Framework Render a result from an hyperlink in API response
我正在构建一个带有 DRF/React 堆栈的应用程序,但我遇到了一些问题。
我正在使用 HyperlinkedModelSerializer
以便能够使用给定的 link 轻松发出 GET 请求。不太乐观的是,我无法轻易查询结果。
这是我从 API
获得的 json 对象的示例
[
{
"url": "http://localhost:8000/session/3/",
"session_start": "01:00:17.234060",
"nb_person": 1,
[...]
"client": "http://localhost:8000/client/1/"
}
]
我想在我的模板中呈现一个数组。虽然,我想显示我从 client
link.
中获得的客户名字和姓氏
function GetContactFromAPI(url)
{
var name = ""
axios.get(url).then(response => {
const data = response.data
name = `${data.firstname} ${data.lastnom}`
return name
})
return name
}
return (
<div>
<table>
<thead>
<tr>
<th>Client</th>
<th>Nb Pers.</th>
<th>Starting time</th>
</tr>
</thead>
<tbody>
{sessions.map((session, index) => {
return (
<tr key={index}>
<td>{GetContactFromAPI(session.client)}</td>
<td>{session.nb_person}</td>
<td>{session.session_start}</td>
</tr>
)
})}
</tbody>
</table>
</div>
);
我想我对sync/async有一些误解,无法呈现我需要的结果。您有解决此需求的想法吗?
我正在考虑获取客户名单并获得我需要的客户。但是我想避免这个可能比需要的更大的请求(我有超过 4 万个客户)。
提前致谢
我可能需要查看客户字段所在的序列化程序,但您需要做的是为客户字段创建一个嵌套关系。尝试这样做:
客户端 = ClientSerializer()
我正在构建一个带有 DRF/React 堆栈的应用程序,但我遇到了一些问题。
我正在使用 HyperlinkedModelSerializer
以便能够使用给定的 link 轻松发出 GET 请求。不太乐观的是,我无法轻易查询结果。
这是我从 API
获得的 json 对象的示例[
{
"url": "http://localhost:8000/session/3/",
"session_start": "01:00:17.234060",
"nb_person": 1,
[...]
"client": "http://localhost:8000/client/1/"
}
]
我想在我的模板中呈现一个数组。虽然,我想显示我从 client
link.
function GetContactFromAPI(url)
{
var name = ""
axios.get(url).then(response => {
const data = response.data
name = `${data.firstname} ${data.lastnom}`
return name
})
return name
}
return (
<div>
<table>
<thead>
<tr>
<th>Client</th>
<th>Nb Pers.</th>
<th>Starting time</th>
</tr>
</thead>
<tbody>
{sessions.map((session, index) => {
return (
<tr key={index}>
<td>{GetContactFromAPI(session.client)}</td>
<td>{session.nb_person}</td>
<td>{session.session_start}</td>
</tr>
)
})}
</tbody>
</table>
</div>
);
我想我对sync/async有一些误解,无法呈现我需要的结果。您有解决此需求的想法吗?
我正在考虑获取客户名单并获得我需要的客户。但是我想避免这个可能比需要的更大的请求(我有超过 4 万个客户)。
提前致谢
我可能需要查看客户字段所在的序列化程序,但您需要做的是为客户字段创建一个嵌套关系。尝试这样做:
客户端 = ClientSerializer()