오도원입니다.

건강과 행복을 위하여

Development/Django

[Django] 에러 : object has no attribute 'update'

오도원공육사 2020. 10. 8. 14:30
반응형

장고로 개발하다가 이러한 문제가 발생했다.

Exception Value: 'Student' object has no attribute 'update'

...생략...

this_student = Student.objects.get(
   No=request.data['No']
)

this_student.update(
    Stduent_No=request.data['Stduent_No'],
    Phone=this_phone,
    UpdateTime=request.data['UpdateTime'],
    Current_Num=request.data['Current_Num'],
)

...생략...

원인.

이유는 즉슨, .get()은 individual object, 딱 하나의 객체를 반환한다. 그러나 .update()는 오직 querysets에서만 동작한다.

해결책

따라서 .get()을 사용한다면 .update()를 쓸 수 없다. 그러므로 .update()는 queryset()을 반환하는 .filter()를 사용해야한다. .filter()를 사용함으로써 문제를 해결했다.

...생략...

this_student = Student.objects.filter(
   No=request.data['No']
)

this_student.update(
    Stduent_No=request.data['Stduent_No'],
    Phone=this_phone,
    UpdateTime=request.data['UpdateTime'],
    Current_Num=request.data['Current_Num'],
)

...생략...

참고.

stackoverflow.com/questions/15304378/django-error-model-object-has-no-attribute-update/39934249

반응형

'Development > Django' 카테고리의 다른 글

(Django) 테이블 초기화하기; reset table  (0) 2020.09.14
(Django) QuerySet과 객체 접근방식  (4) 2020.09.08