djangoadmin导出csv
2016-06-15 15:23
676 查看
from django.contrib import admin from .models import Order,OrderItem from django.http import HttpResponse import datetime # Register your models here. import csv def export_to_csv(modeladmin, request, queryset): opts=modeladmin.model._meta response=HttpResponse(content_type='text/csv') response['Content-Disposition']='attachment;filename={}.csv'.format(opts.verbose_name) writer=csv.writer(response) fields = [field for field in opts.get_fields() if not field.many_to_many and not field.one_to_many] writer.writerow([field.verbose_name.encode('utf-8') for field in fields]) for obj in queryset: data_row=[] for field in fields: value=getattr(obj,field.name) if isinstance(value,datetime.datetime): value=value.strftime('%d/%m/%Y') data_row.append(value) writer.writerow(data_row) return response export_to_csv.short_description = '导出ESV' class OrderItemInline(admin.TabularInline): model = OrderItem raw_id_fields = ['product'] class OrderAdmin(admin.ModelAdmin): list_display = ['id', 'name', 'email', 'address', 'postal_code', 'city', 'paid', 'created', 'updated'] list_filter = ['paid', 'created', 'updated'] inlines = [OrderItemInline] actions = [export_to_csv] admin.site.register(Order, OrderAdmin)
![](https://images2015.cnblogs.com/blog/879525/201606/879525-20160615152238479-274213641.png)
相关文章推荐
- Improtance of posterior probabilities
- Go语言中的单引号、双引号、反引号
- Google File System阅读笔记
- Mongo服务器集群配置——主从复制
- launcher界面下google文件夹的修改
- 消息队列中点对点与发布订阅区别(good)
- Go学习笔记之基础数据类型
- google打不开,修改google hosts
- 结合django动态生成salt的pillar数据
- Codeforces-Round-#357-(Div.-2)-A-Good-Contest
- tensorflow从0开始(3)——数学概念的自我理解
- Codeforces Round #357 (Div. 2) A. A Good Contest
- django的cache
- Codeforces Round #357 (Div. 2) A. A Good Contest 水题
- go环境搭建安装gocode出现mkdir: cannot create directory ‘/usr/local/go/bin/gocode’: Permission denied
- How to Generate a Good Word Embedding?
- Google开源基于Deep Learning的word2vec工具
- Google-hosts
- go NATS
- django makemigrations的一个特性