这是我的第一个Django应用程序。我试图显示一个平均评分从多个评论。在
这似乎在我的产品模板中有效,但在我的博客模板中不起作用,因为productprofile_id没有定义:
product_rating = Review.objects.filter(product_id=productprofile_id).aggregate(Avg('rating')).values()
如何用Blog模型中的相关产品字段过滤评论模型?或者可以只在我的帖子模板中包含产品视图吗?提前感谢您的帮助!在
我的模型:
^{pr2}$我的观点:
def post(request, post_id):
try:
post = Post.objects.get(pk=post_id)
except Post.DoesNotExist:
raise Http404
product_rating = Review.objects.filter(product_id=productprofile_id).aggregate(Avg('rating')).values()
return render(request, 'app/blog.html', {'post': post, 'product_rating': product_rating})
def product(request, productprofile_id):
try:
product = ProductProfile.objects.get(pk=productprofile_id)
except ProductProfile.DoesNotExist:
raise Http404
product_media = ProductMedia.objects.filter(product_id=productprofile_id)
product_brand = BrandProfile.objects.filter(products__id=productprofile_id)
review = Review.objects.filter(product_id=productprofile_id)
product_rating = Review.objects.filter(product_id=productprofile_id).aggregate(Avg('rating')).values()
return render(request, 'app/product.html', {'product': product, 'product_media': product_media, 'review': review, 'product_rating': product_rating, 'product_brand': product_brand,})
我的模板标记:
{% for value in product_rating %} {{ value }} {%endfor%}
我认为您应该在ProductProfile模型上设置一个评分方法,该模型将返回该产品的平均评价:
现在您可以从两个视图中删除它,并在post视图中迭代产品时调用
{{ product.avg_rating }}
。在也许吧
是吗?我不记得是否需要所有的东西。在
相关问题 更多 >
编程相关推荐