Hi,

I would like to export the csv file  as follows:

  No name
date 
time of attendance
time of leavework
 01
hito
2014/5/16 10:31:50 20:30
 01
hito
2014/5/16 10:56:23 20:30  01
hito
2014/5/16 10:19:59 20:30  02
charry
2014/5/16 10:18:40 20:30  02
charry
2014/5/16 10:12:52 20:30  02
charry
2014/5/16 10:11:19 20:30 

2014年5月16日金曜日 19時29分59秒 UTC+9 Daniel Roseman:
>
>
>
> On Friday, 16 May 2014 10:40:50 UTC+1, hito koto wrote:
>>
>> Hello,
>>
>> I want to export csv from the  two objects
>> I have the erroe is here:
>> Exception Type: AttributeError  Exception Value: 
>>
>> 'QuerySet' object has no attribute 'id'
>>
>>
>>
>>
>> This is my the views.py :
>>
>> def export_excel(request):
>>
>>     response = HttpResponse(mimetype='application/vnd.ms-excel; 
>> charset="Shift_JIS"')
>>     response['Content-Disposition'] = 'attachment; filename=file.csv'
>>     writer = csv.writer(response)
>>     writer.writerow(["No","name", "date", "time"]),
>>
>>     obj_all=set([attendance.objects.all()])
>>     l_all = set([leavework.objects.all()])
>> #    all = obj_all | l_all
>>     A = obj_all
>>     B = l_all
>>     for obj in A:
>>         row = []
>>       #  all = row
>>         for field in attendance._meta.fields:
>>             row.append(unicode(getattr(obj,field.name)).encode("cp932"))
>>     for leave in B:
>>         for field in leavework._meta.fields:
>>             row.append(unicode(getattr(leave, field.name
>> )).encode("cp932"))
>>     for all in row:
>>         writer.writerow(all)
>>
>>     return response
>>
>
> You're doing some very odd things here. You're putting the queryset into a 
> list and then putting that list into a set: so that when you iterate 
> through the set, what you actually get is the queryset as one object, not 
> the individual objects within it.
>
> You could fix this by just doing
>     obj_all=set(attendance.objects.all())
> - ie without the surrounding [] - but it's not clear why you think you 
> need a set in the first place. A queryset will never give you duplicate 
> objects, because it's a simple representation of the db query, which can't 
> itself have duplicates. You might have duplicate *data* within the table, 
> but that won't be de-duplicated by the set(), as the rows themselves are 
> still unique.
> --
> DR.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/d73fb2ec-2c7d-46e5-b136-e9c46e27e97f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to