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

时间:2015-06-09 09:10:27

标签: python django model xlsx openpyxl

遵循此示例(对于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)

我必须将要写入xlsx文件的数据分割到标头和数据本身。

那么,如何从Django中的Models中提取头部和数据?

1 个答案:

答案 0 :(得分:1)

好的,我将再试一次。如果你无法清楚地解释你的问题,我无法帮助你。

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

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工作表时:

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

这是您遍历模型中所有列并获取其名称的方式。

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

如果您的标题跨越多个列,则无法将它们存储在模型中。