这是我的模型:
class FruitItem(models.Model):
vote = models.IntegerField()
class Fruit(models.Model):
name = models.CharField(max_length=77)
items = models.ManyToManyField(FruitItem)
这是我的观点:
class LoginRequiredMixin(object):
@method_decorator(login_required)
def dispatch(self, request, *args, **kwargs):
return super(LoginRequiredMixin, self).dispatch(request, *args, **kwargs)
class FruitsList(LoginRequiredMixin, ListView):
template_name = 'fruits.html'
context_object_name = "fruits"
paginate_by = "8"
def get_queryset(self):
return Fruit.objects.filter(user=self.request.user).annotate(
vote_avg=Avg('items__vote'))
和模板:
{% for f in fruits %}
{{ f.name }}
{{ f.items.vote_AVERAGE }}
{% endfor %}
如何显示每个列表元素的vote
平均值?({{ f.items.vote}}
)
现在,模板上下文中的每个水果对象都有一个
vote_avg
属性,其中包含相关的FruitItem.vote字段的平均值相关问题 更多 >
编程相关推荐