【发布时间】:2021-06-13 00:37:47
【问题描述】:
我在我的应用程序中注意到了这个错误,“'NoneType' 对象没有属性 'day'”。我注意到的是。我有一个名为 course_schedule 的模型,课程表有周一到周日的选项。如果课程表是部分填充的,也就是说我只填充了几天,比如一周中完整的 7 天中的 3 天,我会收到错误消息,但是每当我填充课程表时,我会完全填充课程表模型,我不会有错误,一切正常。
错误日志:
Traceback (most recent call last):
File "C:\Users\Habib\Documents\django\FIVERR\Ayyub_SMS\venv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "C:\Users\Habib\Documents\django\FIVERR\Ayyub_SMS\venv\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\Habib\Documents\django\FIVERR\Ayyub_SMS\sms\schoolapp\views.py", line 1754, in sir_course
get_all = getall(2021, sch.day)
Exception Type: AttributeError at /en/sir_course
Exception Value: 'NoneType' object has no attribute 'day'
models.py
class Assign_teacher_to_courses(models.Model):
Course_Name = models.ForeignKey(add_courses, on_delete=models.CASCADE)
Teacher_Name = models.ForeignKey(add_teacher_by_manager, on_delete=models.CASCADE)
def __str__(self):
return self.Course_Name.Course_Name+" - "+self.Teacher_Name.teacher_ID+" - "+self.Teacher_Name.teacher_name
class course_schedule(models.Model):
days_choices = (
("Mon", 'Monday'),
("Tue", 'Tuesday'),
('Wed', "Wednessday"),
('Thurs', "Thursday"),
('Fri', "Friday"),
('Sat', "Saturday"),
("Sun", "Sunday"),
)
day = models.CharField(max_length=60, default="Sun")
time_session = models.CharField(max_length=150, default='8:00am')
end_session = models.CharField(max_length=150, default='10:00am')
def __str__(self):
return self.day
views.py
def sir_course(request):
if request.method == "POST":
get_course_name_th = Assign_teacher_to_courses.objects.filter(Teacher_Name=get_id_teach)
# print(get_course_name_th)
store_email_teacher_dtta = store_email_teach_new.objects.filter(Teacher_ID=teach_course_id)
days = {}
for course in get_course_name_th:
# print(course.Course_Name.syllabus)
sch = course_schedule.objects.get(id=course.Course_Name.pk)
get_all = getall(2021, sch.day)
lists = {}
for n in get_all:
date = n.strftime("%d/%m/%Y")
try:
if days[str(date)]:
days[str(date)].append(str(course.Course_Name.Course_Name)+" "+str(course.Course_Name.course_code))
except KeyError:
days[str(date)] = [str(course.Course_Name.Course_Name)+" "+str(course.Course_Name.course_code),]
# print(days)
context1 = {'get_course_name_t_cours':get_course_name_th, "days": days}
return render(request, 'teacher_page.html', context1)
else:
return redirect('/')
【问题讨论】:
-
确保
sch不是None? -
好的,我正在测试它
标签: python django django-models django-views django-templates