Django REST Framework가있는 Django에서 새 필드를 추가 할 때 이전 개체를 업데이트하는 가장 좋은 방법은 무엇입니까?

c_sagan

새 필드를 추가하여 업데이트중인 모델이있는 데이터베이스가 있습니다. 필드를 추가 할 때 데이터베이스의 모든 이전 개체가 해당 필드를 빈 문자열 값으로 채웠습니다. 값을 가지려면이 필드가 필요합니다.

앞으로 개체는 사양 또는 기본값에 따라 값을 포함하도록 강제됩니다.

이전 개체에 대해이 필드를 업데이트하는 가장 좋은 방법은 무엇입니까?

몇 가지 아이디어가 있지만 하나가 '적절'한지 잘 모르겠습니다. 다시 말하지만, 미래의 모든 개체에는 필요한 모든 데이터가 있으므로 한 번만 수행하면됩니다.

  1. UpdateModelMixinViewSet에를 추가하여 PUT를 활성화 하고 필드를 업데이트 한 다음 PUT를 비활성화합니다 (PUT를 영구적으로 허용하지 않음).
  2. 나를 위해 업데이트를 수행하기 위해 일종의 마이그레이션 스크립트를 작성하십시오.
  3. 내가 놓친 것이 있습니까?
라이언

질문을 오해하고있을 수 있지만 새 필드를 만들 때 기존 데이터베이스에 채우려는 기본값을 지정하여 값을 지정할 수 있습니다.

https://docs.djangoproject.com/en/2.2/ref/models/fields/#default

롤백하여 필드를 다시 만들 수없는 경우 Django 셸을 사용하여 다음과 유사한 일회성 변경이므로 수행합니다.

ModelName.objects.update(field='newvalue')

이렇게하면 구성이나 코드 등을 변경할 필요가 없습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관