django object 저장 질문 입니다.

조회수 2178회

안녕하세요. 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가 아닌 다른 방법이 있는지요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

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

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

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

    한가지 더 말씀드리자면

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

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

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)