Как подсчитать количество строк в таблице базы данных в Django

у меня есть база данных, созданная моделью Django, где status и id и username - это поля таблицы Messages.

мне нужно подсчитать количество строк, где status value= 0 в частности username.

это мой неполный код:

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

3 ответов


попробуйте этот код:

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

вы можете использовать Python в len() или использовать count() метод на любом queryset в зависимости от ваших требований. Также обратите внимание, используя len() будет оценивать queryset, поэтому всегда возможно использовать предоставленный count() метод.

его можно использовать следующим образом:

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

альтернативно, (если вы не беспокоитесь о производительности) вы также можете использовать len():

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

вы также должны пройти через документация API QuerySet для подробная информация.


чтобы получить количество вы можете использовать модель

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