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.