나는 '프로젝트'모델을 가지고 있으며, 'Alan Parson 's', 'Gutenberg', 'Gutenberg'및 'X'라는 이름으로 4 가지 모델을 만들었습니다. ,해당 필드에 대해 고유하지 않은 값을 가진 모델 객체를 만든 후 장고 '고유'모델 필드 매개 변수를 설정합니까?
난 그냥 실현, 나는 이름이 고유해야 할, 그래서 내가 다른 '구텐베르크'또는 'X'또는 무엇이든을 만들 수 없습니다, 지금 project.name 필드
에 = 진정한 독특한 설정 하지만 django는 이전 모델에 고유하지 않은 이름이 있다는 사실에 아무런 문제가 없습니다.
장고는 새로운 필드의 고유성을 어떻게 보장합니까? 왜 오래된 것들이 고유하지 않은 것이 중요하지 않은가? 그리고 일반적으로 모델 필드 속성 (null, blank, unique ... 등)이 모델 필드 속성에 '어려운'변경을 요구하는지 db 스키마 및 마이그레이션?
, 나는 이름이 고유하지 않은 방법에 대해 오류가 나는 시도하고 (모델 양식에서)이 아닌 고유 한 이름으로 기존 프로젝트 중 하나를 편집하는 경우처럼 보이지만 나는이 액세스 할 수 있습니다 모델링에 아무런 문제가 없으며 많은 객체에 경고없이 객체를 추가 할 수 있습니다. 이것은 마지막 질문과 관련이 있습니다. 모델에 지정된 매개 변수 중 일부는 모델 양식이 작동하는 방식과 작동 방식이 결정되는 것처럼 보입니다. 나는 blank = true가 모델 양식 필드가 비어있을 수 있다는 것을 의미한다고 생각하지만 실제 필드 자체가 데이터가없는 경우 null = true가 '강함'을 의미합니다.
그래서, 기본적으로, 쉽게 매개 변수 변경 사항 마이그레이션 또는 필요로 확인할 수있는 방법이있다 '하드'변경 DB
Django의 마이그레이션을 사용하는 경우 고유 제한 조건이 열에 추가됩니다. 필드에'unique = True'를 추가하는 것만으로는 마이그레이션하지 않고 스키마를 수정할 수 없습니다. 거의 모든 ** 모델 필드를 변경하려면 마이그레이션이 필요합니다. – Brandon