如何从 Python 中的模型获取 header 和数据?

How to get header and data from Models in Python?

按照这个例子(对于 openpyxl):

from openpyxl.workbook import Workbook

header = [u'Name', u'Email', u'Mobile', u'Current location',]
new_data = [[u'name1', u'email1@yahoo.com', 9929283421.0, u'xxxx'], [u'name2', u'email2@xyz.com', 9994191988.0, u'xxxx']]
wb = Workbook()

dest_filename = 'empty_book.xlsx'

ws1 = wb.active

ws1.title = "range names"

ws1.append(header)

for row in new_data:
    ws1.append(row)

wb.save(filename = dest_filename)

我必须将要写入 header 上的 xlsx 文件的数据和数据本身分开。

那么,如何从 Django 中的模型中提取 header 和数据?

要修改模型在数据库中的列名称,请执行以下操作:

from django.db import models

class MyModel(models.Model):
    gender = models.CharField(db_column=u'column_name', max_length=10)

如果您不想更改数据库的列名,请改用 verbose_name:

    gender = models.CharField(verbose_name=u'column_name', max_length=10)

然后,当你准备输出 excel sheet:

for f in MyModel._meta.get_fields():
    print f.db_column  # or f.verbose_name

这就是您如何遍历模型中的所有列并获取它们的名称。

为什么必须在模型中存储 header 名称?为什么不能将它们静态存储在列表中?

当您有一个跨多列的 header 时,就无法将它们存储在模型中。