2013-03-26 45 views
6

我有Django模型创建的数据库,其中statusidusername是表Messages的字段。如何计算Django数据库表中的行数

我需要计算特定usernamestatus value= 0的行数。

这是我的不完整代码:

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

回答

15

试试这个代码:

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

是它正常工作...... :) – Friend 2013-03-26 11:29:34

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为更多信息。

+0

嗨amyth。即使你的代码看起来非常简单:)感谢更新.. 。 – Friend 2013-03-26 11:33:36

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 
相关问题