web-dev-qa-db-ja.com

Djangoでデータベーステーブルの行数をカウントする方法

Djangoモデルによって作成されたデータベースがあります。ここで、statusidusernameはテーブルのフィールドMessagesです。

行の数を数える必要がありますstatus value= 0特定のusernameの場合。

これは私の不完全なコードです:

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

このコードを試してください:

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

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ドキュメント も参照してください。

1
Amyth

あなたの数を得るにはモデルを使うことができます

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