2013-03-26 38 views
6

Tôi có cơ sở dữ liệu được tạo bởi mô hình Django, trong đó statusidusername là các trường của bảng Messages.Cách đếm số hàng trong bảng cơ sở dữ liệu ở Django

Tôi cần tính số hàng nơi status value= 0 cho một số username cụ thể.

Đây là mã đầy đủ của tôi:

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

Trả lời

15

Hãy thử mã này:

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

Có Nó hoạt động tốt ...... :) – Friend

1

Bạn có thể sử dụng Python của len() hoặc sử dụng các phương pháp count() trên bất kỳ queryset tùy thuộc vào yêu cầu của bạn. Cũng lưu ý rằng việc sử dụng len() sẽ đánh giá queryset để luôn có thể sử dụng phương thức count() được cung cấp.

Nó có thể được sử dụng như sau:

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

Ngoài ra, (nếu bạn không phải lo lắng về hiệu suất), bạn cũng có thể sử dụng len():

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

Bạn cũng nên đi qua các QuerySet API Documentation cho thêm thông tin.

+0

Hi amyth .. Ngay cả mã của bạn trông nhờ :) khá đơn giản để cập nhật .. . – Friend

0

Để lấy số liệu của bạn có thể sử dụng mô hình

// 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 
Các vấn đề liên quan