根據不同的情況 - 你可能希望你的模型的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