您的位置:首页 > 编程语言 > Go语言

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)


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: