Sorry, It was my mistake This is correct This is my full views.py: from datetime import datetime, time, date, timedelta class workLog(object): def __init__(self, name, day, attTime, leaveTime): self.name = name self.day = day self.attTime = attTime self.leaveTime = leaveTime
def export_excel(request): from staffprofile.models import Myattendance,Myleavework response = HttpResponse(mimetype=' application/vnd.ms-excel; charset="Shift_JIS"') response['Content-Disposition'] = 'attachment; filename=file.csv' writer = csv.writer(response) titles = ["No","name""),"day"),"attTime","leaveTime")] writer.writerow(titles) obj_all = attendance.objects.filter().values_list('user', 'contact_date', 'contact_tim e').order_by("-contact_date") lea = leavework.objects.filter().values_list('contact_time').order_by('-contact_date') S = Staff.objects.all() row = [workLog('name', i, None, None) for i in range(32)] for att in obj_all: day = att[2].day log = row [day] id = att[0] log.name = S.filter(id = id).values("user_name") if log.attTime is None: log.attTime = att[2] elif log.attTime < att[2]: log.attTime = att[2] for leav in lea: day = leav[2].day log = row [day] if log.leaveTime is None: log.leaveTime = leav[2] elif log.leaveTime < leav[2]: log.leaveTime = leav[2] for log in row: if log.attTime is not None: if log.leaveTime is not None: row.append((log.attTime, log.leaveTime)) else: row.append(None) else: if log.leaveTime is not None: row(None) writer.writerow(row) This is my full models.py class Staff(models.Model): user = models.OneToOneField(User, null=False) user_name = models.CharField(max_length=255) first_kana = models.CharField(max_length=255) last_kana = models.CharField(max_length=255) employee_number = models.CharField(max_length=22) def __unicode__(self): return self.user_name class attendance(models.Model): user = models.ForeignKey(Staff, verbose_name = "name") contact_date = models.DateField(verbose_name = "date", auto_now_add=True) contact_time = models.TimeField(verbose_name = "time", auto_now_add=True) class Meta: ordering = ["-contact_time"] def __unicode__(self): return unicode(self.user) class leavework(models.Model): user = models.ForeignKey(Staff, verbose_name = "name") contact_date = models.DateField(verbose_name = "date", default=datetime.now) contact_time = models.TimeField(verbose_name = "time", default=datetime.now) class Meta: ordering = ["-contact_time"] def __unicode__(self): return unicode(self.user) 2014年5月22日木曜日 11時28分31秒 UTC+9 Andrew Farrell: > > So the error is somewhere here: > for att in attendance: > day = att[2].day > But I can't see where `attendance` is defined. > I suspect you'll have a similar error in > for leav in leavework: > day = leav[2].day > But also can't see where `leavework` is defined. > > > On Wed, May 21, 2014 at 10:24 PM, hito koto <hitoko...@gmail.com<javascript:> > > wrote: > >> Hello, >> >> I have the errors in the following: >> I don't know how can i to do ? >> >> >> >> Request Method: GET Request URL: http://articlet/export_excel/ Django >> Version: 1.6.2 Exception Type: AttributeError Exception Value: >> >> 'datetime.time' object has no attribute 'date' >> >> Exception Location: /var/www/article/views.py in export_excel, line 195 >> Python >> Executable: /usr/bin/python Python Version: 2.6.6 >> >> >> >> Traceback Switch to copy-and-paste >> view<http://dev1.so2.co.jp/ihttest/ihttcs_test/export_excel/#> >> >> - /usr/lib/python2.6/site-packages/django/core/handlers/base.py in >> get_response >> 1. >> >> response = wrapped_callback(request, >> *callback_args, **callback_kwargs) >> >> ... >> ▶ Local vars<http://dev1.so2.co.jp/ihttest/ihttcs_test/export_excel/#> >> - /var/www/articlee/views.py in export_excel >> 1. >> >> date = att[2].date >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> This is my full views.py: >> >> from datetime import datetime, time, date, timedelta >> class workLog(object): >> def __init__(self, name, day, attTime, leaveTime): >> self.name = name >> self.day = day >> self.attTime = attTime >> self.leaveTime = leaveTime >> >> def export_excel(request): >> from staffprofile.models import Myattendance,Myleavework >> response = HttpResponse(mimetype='application/vnd.ms-excel; >> charset="Shift_JIS"') >> response['Content-Disposition'] = 'attachment; filename=file.csv' >> writer = csv.writer(response) >> titles = ["No","name""),"day"),"attTime","leaveTime")] >> writer.writerow(titles) >> >> S = Staff.objects.all() >> row = [workLog('name', i, None, None) for i in range(32)] >> >> for att in attendance: >> day = att[2].day >> log = logMonth[day] >> id = att[0] >> log.name = S.filter(id = id).values("user_name") >> if log.attTime is None: >> log.attTime = att[2] >> elif log.attTime < att[2]: >> log.attTime = att[2] >> >> for leav in leavework: >> day = leav[2].day >> log = logMonth[day] >> if log.leaveTime is None: >> log.leaveTime = leav[2] >> elif log.leaveTime < leav[2]: >> log.leaveTime = leav[2] >> >> for log in logMonth: >> if log.attTime is not None: >> if log.leaveTime is not None: >> row.append((log.attTime, log.leaveTime)) >> else: >> row.append(None) >> else: >> if log.leaveTime is not None: >> row(None) >> >> writer.writerow(row) >> >> This is my full models.py >> >> class Staff(models.Model): >> user = models.OneToOneField(User, null=False) >> user_name = models.CharField(max_length=255) >> first_kana = models.CharField(max_length=255) >> last_kana = models.CharField(max_length=255) >> employee_number = models.CharField(max_length=22) >> >> def __unicode__(self): >> return self.user_name >> >> class attendance(models.Model): >> user = models.ForeignKey(Staff, verbose_name = "name") >> contact_date = models.DateField(verbose_name = "date", >> auto_now_add=True) >> contact_time = models.TimeField(verbose_name = "time", >> auto_now_add=True) >> >> class Meta: >> ordering = ["-contact_time"] >> >> def __unicode__(self): >> return unicode(self.user) >> >> class leavework(models.Model): >> user = models.ForeignKey(Staff, verbose_name = "name") >> contact_date = models.DateField(verbose_name = "date", >> default=datetime.now) >> contact_time = models.TimeField(verbose_name = "time", >> default=datetime.now) >> >> class Meta: >> ordering = ["-contact_time"] >> >> def __unicode__(self): >> return unicode(self.user) >> >> >> -- >> 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...@googlegroups.com <javascript:>. >> To post to this group, send email to django...@googlegroups.com<javascript:> >> . >> 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/dcc033ee-76d7-4870-a495-1c8fb62cb047%40googlegroups.com<https://groups.google.com/d/msgid/django-users/dcc033ee-76d7-4870-a495-1c8fb62cb047%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > -- 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/8f51004f-431f-4b5b-90c8-703382a1646c%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.