如何从 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 时,就无法将它们存储在模型中。
按照这个例子(对于 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 时,就无法将它们存储在模型中。