【发布时间】:2017-04-07 21:43:44
【问题描述】:
有没有办法在 Django 视图中显示数据库的信息?
例如,我知道在 Heroku cli 中你可以使用heroku pg:info -a your_app 来查看数据库的表数、行数、类型等。
有没有办法在 Django 中获取相同的信息,以便在模板中查看以跟踪存储等?
【问题讨论】:
标签: django postgresql heroku
有没有办法在 Django 视图中显示数据库的信息?
例如,我知道在 Heroku cli 中你可以使用heroku pg:info -a your_app 来查看数据库的表数、行数、类型等。
有没有办法在 Django 中获取相同的信息,以便在模板中查看以跟踪存储等?
【问题讨论】:
标签: django postgresql heroku
我使用下面的函数来获取当前数据库的行数:
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])
【讨论】: