나는 모델 검증 프레임 워크를 시작하려고합니다. http://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model.clean
이 파일은 ModelForms
에 의해 사용되고 있으며, 사용하기에 충분합니다.
기본적으로 모델에서 clean()
메서드를 정의하고 유효성 검사 논리를 넣은 다음 실패한 경우 ValidationError
을 발생시킵니다.
class MyModel(models.Model):
def clean(self):
from django.core.exceptions import ValidationError
if self.start_data > self.end_date:
raise ValidationError('Start date cannot precede end date')
def save(self, *args, **kwargs):
# you can have regular model instance saves use this as well
super(MyModel, self).save(*args, **kwargs)
여기 장점은 관리자 사이트를 의미있는 ModelForm
가 (너무 차례로 추가 작업없이 모델 clean()
를 호출 full_clean()
를 호출 것이다.
필요 없음을 save_model
을 무시, 당신입니다 관리자 양식 상단에 일반적인 확인 오류가 표시됩니다.
마지막으로 매우 편리하므로 어디서나 사용할 수 있습니다.
try:
my_model.full_clean()
except ValidationError, e:
# Do something based on the errors contained in e.message_dict.
# Display them to a user, or handle them programatically.
문제 없습니다. 추천. 내가 그걸 열정적으로 볼 수 있니? : D –
당신은 환상적입니다;) – anshul