1
모델 유효성 검사기에 대해 CompareDates라는 유효성 검사 클래스를 사용하는 모델이 있고 유효성 검사기에 두 개의 필드 값을 전달하려고합니다. 그러나 나는 유효성 검사기에서 여러 필드 값을 사용하는 방법을 잘 모르겠습니다.여러 값을 장고 모델 유효성 검사기에서 사용할 수 있습니까?
전체적으로 모델의 유효성을 검사하기 위해 날짜를 비교할 수 있기를 원하지만 유효성 검사기에 전달 된 값을 키워드로 사용할 수 없거나 뭔가 누락 된 것 같지 않습니까?
from django.db import models
from myapp.models.validators.validatedates import CompareDates
class GetDates(models.Model):
"""
Model stores two dates
"""
date1 = models.DateField(
validators = [CompareDates().validate])
date2 = models.DateField(
validators = [CompareDates().validate])
docs에 이어 clean이 자동으로 호출되지는 않지만 수동으로 어딘가에서 호출해야합니다. save 메소드. 그게 500 오류를 돕는 것은 아닙니다. 하지만 코드를 수정했습니다. – schacki
큰 고마워요 :) –
이것이 가치있는 것은 Django Rest Framework에서 작동하지 않을 것입니다 (저는 틀린 것으로 입증되기를 바랍니다). 모델의 clean() 내에서 django.core.exceptions.ValidationError를 발생 시키면 500 내부 서버 오류가 발생합니다. 가장 좋은 해결 방법은 장고 ValidationError를 rest_framework ValidationError로 바꾸고 그것을 다시 던지는 것입니다. 자세한 정보 : https://github.com/encode/django-rest-framework/issues/2145 – Bosco