私は、現在のデータベースの行数を取得するには、以下の機能を使用:
from django.db import connections
def db_row_count():
cursor = connections['default'].cursor()
query = """
SELECT sum(reltuples)
FROM pg_class
WHERE relname
IN (
SELECT c.relname
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n
ON n.oid = c.relnamespace
WHERE c.relkind = 'r'
AND n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'
AND n.nspname !~ '^pg_toast'
AND pg_catalog.pg_table_is_visible(c.oid)
);
"""
cursor.execute(query)
row = cursor.fetchone()
return int(row[0])