Как передать контекстный словарь в django rest framework? Помогите мне и сделайте мою жизнь проще и легче
Прежде всего, я хочу передать несколько наборов запросов в одном представлении или, можно сказать, один и тот же путь url или маршрут. В django мы передаем этот контекстный словарь следующим образом
qs = Qs.objects.all()
ps = Ps.objects.all()
context = {
'qs' : qs,
'ps' : ps
}
return render(request, 'some.html', context)
а во фронтенде мы просто вызываем их через qs или ps и получаем объект.
Я хочу сделать то же самое в django rest framework и react frontend.
@api_view(['GET'])
def getProduct(request, pk):
product = Product.objects.get(_id=pk)
related = Product.objects.filter(category=product.category).exclude(_id=pk).order_by('?')[:4]
print(related)
serializer = ProductSerializer(product, many=False)
return Response(serializer.data)
У меня есть два набора запросов - товарный и связанный. Я хочу передать оба из них в один сериализатор или ответ. На самом деле я не знаю, как передать несколько наборов запросов.
В фронтенде react
const productDetails = useSelector(state => state.productDetails)
const {loading, error, product} = productDetails
useEffect(() => {
dispatch(listProductDetails(match.params.id))
}, [dispatch, match])
const addToCartHandler = () => {
history.push(`/cart/${match.params.id}?qty=${qty}`)
}
когда я называю это
<h3>{product.name}</h3>
Я получаю название из набора запросов продукта. Я хочу, чтобы тот же процесс был выполнен и для связанного набора запросов. Предположим, если я вызову {related.name}, то он должен показать мне название связанного продукта. В бэкенде, если я перехожу по этому url, то мой связанный запрос работает отлично. Предложите мне, как решить эту проблему.