【问题标题】:How to count the number of rows in a database table in Django如何在Django中计算数据库表中的行数
【发布时间】:2013-03-16 04:08:57
【问题描述】:
我有由 Django 模型创建的数据库,其中 status 和 id 和 username 是表 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