如何计算Django中数据库表中的行数

时间:2013-03-26 11:21:44

标签: django django-models django-database

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

我需要计算特定status value= 0的{​​{1}}行数。

这是我不完整的代码:

username

3 个答案:

答案 0 :(得分:27)

试试这段代码:

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

答案 1 :(得分:1)

您可以使用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以获取更多信息。

答案 2 :(得分:0)

要获得计数,可以使用模型

// 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