根据不同的情况 - 你可能希望你的模型的CSV。如果你有机会到Django管理站点,你可以在显示为列表中的任何模型常规操作插头(谷歌:Django管理行动)
http://djangosnippets.org/snippets/790/
如果你使用一个控制台操作(python manage.py ...
),你可以使用这样一个脚本,我只是用:
(把它放在:yourapp /管理/命令/ model2csv.py)
"""
Prints CSV of all fields of a model.
"""
from django.core.management.base import BaseCommand, CommandError
import csv
import sys
class Command(BaseCommand):
help = ("Output the specified model as CSV")
args = '[appname.ModelName]'
def handle(self, *app_labels, **options):
from django.db.models import get_model
app_name, model_name = app_labels[0].split('.')
model = get_model(app_name, model_name)
field_names = [f.name for f in model._meta.fields]
writer = csv.writer(sys.stdout, quoting=csv.QUOTE_ALL)
writer.writerow(field_names)
for instance in model.objects.all():
writer.writerow([unicode(getattr(instance, f)).encode('utf-8') for f in field_names])
这并不捕获任何异常等,但作为管理员,你不会造成他们被提出,对吧?
这样使用它:
./manage.py model2csv my_ecommerce.Product > products.csv
发现可以用 “在obj._meta.get_all_field_names()用于现场:”。可能会更简洁一点。 – 2014-04-28 17:07:17