在Django模板中从数据库中计算True或False(1或0)值

问题描述 投票:0回答:1

我正在尝试实现用户模板视图,以显示有多少设备在线以及有多少设备处于脱机状态。对于那个实例,我存储在数据库列'status'中,值为1和0。

我无法弄清楚如何获取这些值并在Django环境中计算它们。我的意思是如果我有4个True(1)值,在模板中它应该看起来像:

你有4个在线设备

如果有4个False(0)值,它应该是这样的,反之亦然:

您有4个离线设备

是否有可能在Django中实现它?我真的是这个领域的新秀,非常感谢一些好的提示......

我的models.py

class Device(models.Model):
    usr = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    ip = models.CharField(max_length=50)
    status = models.IntegerField(default=0)
django python-3.x django-templates django-queryset
1个回答
0
投票

例如,您可以在视图中执行此操作:

class MyView(View):

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        queryset = Device.objects.filter(usr=self.request.user)
        context['nb_online'] = queryset.filter(status=1).count()
        context['nb_offline'] = queryset.filter(status=0).count()
        return context

然后,您可以在模板中访问{{ nb_online }}{{ nb_offline }}

© www.soinside.com 2019 - 2024. All rights reserved.