2012-01-09 37 views
0

我有以下管理措施之下将数据导出为CSV文件,我挣扎弄清楚如何在查询集参数排序:Django的顺序通过查询集对象

import csv 
from django.core.exceptions import PermissionDenied 
from django.http import HttpResponse 

def export_as_csv(modeladmin, request, queryset): 
    """ 
    Generic csv export admin action. 
    """ 
    if not request.user.is_staff: 
     raise PermissionDenied 
    opts = modeladmin.model._meta 
    response = HttpResponse(mimetype='text/csv') 
    response['Content-Disposition'] = 'attachment; filename=%s.csv' % unicode(opts).replace('.', '_') 
    writer = csv.writer(response) 
    field_names = [field.name for field in opts.fields] 
    # Write a first row with header information 
    writer.writerow(field_names) 
    # Write data rows 
    for obj in queryset: 
     writer.writerow([getattr(obj, field) for field in field_names]) 
    return response 
export_as_csv.short_description = "Export selected objects as csv file" 

我以为下面会工作:

查询集= queryset.objects.order_by( '实践')

不过,我得到以下错误:

'QuerySet' object has no attribute 'objects' 

回答

8

我想你想

queryset = queryset.order_by('practice') 

(无objects

+0

感谢您的。 – 2012-01-09 09:47:53