【问题标题】:How to count the number of rows in a database table in Django如何在Django中计算数据库表中的行数
【发布时间】:2013-03-16 04:08:57
【问题描述】:

我有由 Django 模型创建的数据库,其中 statusidusername 是表 Messages 的字段。

我需要计算特定username 所在status value= 0 的行数。

这是我不完整的代码:

Message_me = Messages.objects.get(username='myname')

【问题讨论】:

    标签: django django-models django-database


    【解决方案1】:

    试试这个代码:

    Message_me = Messages.objects.filter(username='myname', status=0).count()
    

    【讨论】:

      【解决方案2】:

      根据您的要求,您可以在任何查询集上使用 Python 的 len()count() 方法。另请注意,使用len() 将评估查询集,因此使用提供的count() 方法总是可行的。

      可以这样使用:

      message_count = models.Messages.objects.filter(username='username', status=0).count()
      

      或者,(如果你不担心性能)你也可以使用len()

      message_count = len(models.Messages.objects.filter(username='username', status=0))
      

      您还应该通过QuerySet API Documentation 了解更多信息。

      【讨论】:

        【解决方案3】:

        要计算你的数量可以使用模型

        // In models.py
        class A(models.Model):
            name = models.CharField(max_length=200)
        
        // In views.py
        from .models import A
        def index(View):
            c = A.objects.filter(username='myname', status=0).count()
            print c // This will give you the count of the rows
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-06-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多