이 같은 모델이 기본 속성은
a1 = A()
a2 = A(some_field="ccc")
print "a1 {}".format(a1.some_field)
print "a2 {}".format(a2.some_field)
내가 가야
A1의 BBB
a2 ccc
?
이 같은 모델이 기본 속성은
a1 = A()
a2 = A(some_field="ccc")
print "a1 {}".format(a1.some_field)
print "a2 {}".format(a2.some_field)
내가 가야
A1의 BBB
a2 ccc
?
기술적으로는 그렇지만 "some_field is required"라고 말한 오류에서 시도한 것처럼 보이지 않습니다. 양식에서 빈 값을 허용하도록하려면 빈 값을 허용하도록 some_field
을 설정해야합니다. 유효성 검사가 통과되고 데이터베이스에서 기본값이 사용되도록 필드 생성자에 blank=True
을 추가해야합니다.
데이터베이스에 실제로 만들지 않도록 개체를 절대로 저장하지 마십시오.
당신이하려는 일에 따라 다릅니다. 폼에서 Model 필드를 사용하지 않으려면 blank=True
을 추가 할 필요가 없습니다. default
값을 지정하지 않으면 해당 값을 사용하여 데이터베이스의 필드를 유지할 수 있습니다.
반면에 모델 양식 내에 필드를 사용하려는 경우 blank=True
을 모델에 추가하거나 required=False
을 모델의 필드에 추가해야합니다.
이제 귀하의 질문과 관련 있습니다. 그것이 당신이 그것을하려고한다면 정확히 당신이 얻는 것입니다.
모델은 ModelForms에서 사용될 때뿐만 아니라 검증 자체를 거칩니다. 양식은'is_valid'가 호출 될 때이 유효성 검사를 사용합니다. 자세한 내용은 [here] (https://docs.djangoproject.com/en/dev/ref/models/instances/#validating-objects)를 참조하십시오. – Ngenator
알 겠어.하지만 빈 속성이없는 셸에서 예제를 테스트 한 결과 기본값으로 db에 저장할 수있었습니다. 그러나 빈 칸이 없으면'ModelForm'은 유효하지 않습니다. 그때 나는 문서 형식의'Models'을 검색하여 이것을 보았습니다 : "이것은 null과 다르다. null은 순전히 데이터베이스와 관련이 있지만, blank는 유효성 검증과 관련이있다. 필드가 공백 = 거짓이면 필드가 필요합니다. " –
무슨 뜻인지 알지만 그는 유효성 검사 오류가 발생하여 양식 검증에 초점을 맞추고 있다고 언급했습니다. 나는 대답에서 그것을 분명히 할 것이다. – Ngenator
시도해 보셨습니까? –
some_field가 필요하다는 오류가 발생합니다. 왜? –