【发布时间】:2021-09-22 07:39:04
【问题描述】:
我的应用程序中有一个列表,它是从两个相关的表(产品和库存)创建的。我想按库存表中的日期订购商品。我的 API 返回有序列表,但在我的应用程序中,列表没有排序。当我尝试按任何 Products 字段订购时,它工作正常 - 也在反应中。
我的看法:
class StocksView(viewsets.ModelViewSet):
serializer_class = StocksSerializer
ordering_fields = ['date']
filter_backends = (filters.OrderingFilter,)
def get_queryset(self):
queryset = Stocks.objects.all().order_by('date')
return queryset
def perform_create(self, serializer):
serializer.save(user=self.request.user)
来自 React 的方法:
const fetchStocks = async () => {
try {
const response = await axiosInstance.get('/stocks/?ordering=date')
if (response) {
setStocksInfo(response.data)
console.log(response.data)
}
} catch (error) {
throw error;
}
}
并从两个合并表中返回列表:
{productsInfo.map(products => {
const product = stocksInfo.filter(e => e.product_id === products.product_id);
return (
product.map((stock, i) => (
<tr key={i} className="table-data">
<td className="col-3"> {products.name}</td>
<td className="col-3">{stock.date}</td>
<td className="col-1">{stock.count}</td>
</tr>
))
)
})}
【问题讨论】:
-
你如何在反应中呈现这些信息?
-
@PietroNadalini 我添加了如何在 html 中连接它
-
你是如何调用 fetchStocks 的?使用 useEffect?您是否在开发人员工具的“网络”选项卡中看到发出的请求?它是否返回预期的主体?
标签: reactjs django-rest-framework