如何在 python3 manage.py shell 中以表格形式打印 Django 查询集

How to print Django queryset in Tabular form in python3 manage.py shell

有没有一种方法或包可以在 python3 manage.py shell

中以表格形式打印 Django 查询集

查询集打印成

但我希望它打印成

Django 没有此功能,但使用 tabulate

创建函数会很容易
from tabulate import tabulate

def output_table(queryset, limit=50):
    headers = [x.name for x in queryset.model._meta.fields]
    rows = queryset.values_list(*headers)
    if limit is not None:
        rows = rows[:limit]
    print(tabulate(rows, headers))