django object 저장 질문 입니다.


안녕하세요. https://docs.djangoproject.com/en/1.10/topics/db/queries/#updating-multiple-objects-at-once

에 나온 objects 저장 질문 입니다

제 코드는


In [23]: for item in ActressInfo.objects.values_list('birth', flat=True):
    ...:     string = re.sub(r'(\d+)\w(\d+)\w(\d+)\w',r'\1년\2월\3일',item)
    ...:     string.save()

입니다.

에러 메세지는


AttributeError: 'str' object has no attribute 'save'

메뉴얼과 똑같이 쿼리셋을 looping 시킨 것인데 어떤점이 문제인지 모르겠네요. values_list()가 아닌 all()로 하는 경우에는 저장이 됩니다. 그런데 특정 필드만 저장시키려고 하는데 values_list가 아닌 다른 방법이 있는지요?


조회수 288


Kakao codefestival banner

1 답변


item을 가지고 바꾼 무엇이 string이라는 변수이고, 이 string을 item에 업데이트 시키는 것에서 오류가 나는 것 같습니다.

현재의 string은 단지 item을 정규화 한 str 객체일 뿐인 것 같아요.

또한 value_list는 제가 알기로는 위 ActressInfobirth 부분 value를 list화 하는 출력의 의미로 알고 있습니다.

한가지 더 말씀드리자면

objects.all() 로 가져오는 것은ActressInfo 객체들 이라 각각의 객체들을 item에 넣어서 for 반복문을 실행 했을 때에는 각각의ActressInfo object.save()가능 했던 것이지요.

제가 정확하지 않을 수도 있지만 도움이 되셨기를 바랍니다^

  • 2017년 04월 16일에 작성됨
    대학원 박사과정생 // 스타트업 - 웹 개발자

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close