을 높이는 다음장고 뷰에서 get_or의 _create의 좋은 예 사용을 찾고 내가 달성하는 방법의 좋은 예를 찾고 있어요 양식 오류
내가 get_or_create를 사용하고 싶습니다 이미 대상 여부 확인 내 데이터베이스에 있습니다. 그렇지 않으면 생성 될 것입니다. 존재하지 않으면 새 오브젝트를 작성하지 않지만 사용자에게 다른 데이터 (예 : 다른 사용자 이름)를 입력해야 함을 알리기 위해 양식 오류를 발생시켜야합니다.
보기는 포함이 존재, 또는 새로운 사람이 그렇지 않은 경우
p, created = Person.objects.get_or_create(
email = registration_form.cleaned_data['email'],
defaults = {
'creationDate': datetime.datetime.now(),
'dateOfBirth': datetime.date(1970,1,1)
})
그래서 'P'는 기존의 사람이 포함됩니다. Person 저장을 건너 뛰고 registration_form을 다시 표시하고 적절한 양식 유효성 검증 오류를 발생 시키려면 'created'의 부울 값에 대해 작업하고 싶습니다.
내가 생각하는 대안은 사용자가 제공된 '전자 메일'필드에 데이터가 있는지 여부를 확인하고 유효성 검사 오류를 제기하는지 확인하기 위해 사용자 지정 양식 유효성 검사 방법을 확인하는 것입니다.
ModelForms save() 메소드에 대한 팁을 주셔서 감사합니다. 그걸 찾기가 어렵 네요! – pfctdayelise