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/a6e0b583-a6be-42f8-aabc-cfafca125ef7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to