1
我有一個模型使用名爲CompareDates的驗證類,用於我的模型驗證器,並且我想通過驗證器兩個字段值。但是我不確定如何在驗證器中使用多個字段值。在django模型驗證器中可以使用多個值嗎?
我希望能夠在日期之間進行比較,以驗證整個模型,但它似乎並不像關鍵字傳遞給驗證器的值,或者我錯過了什麼?
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])
繼文檔,清理將不會自動調用,但需要手動地方調用,例如保存方法。這並不能真正幫助500錯誤;但我已經修改了代碼。 – schacki
非常感謝你:) –
爲什麼它值得這個不會與Django Rest框架一起工作(我很想證明是錯誤的)。在模型的clean()中引發django.core.exceptions.ValidationError將引發500內部服務器錯誤。我見過的最佳解決方法是將django ValidationError更改爲rest_framework ValidationError並重新推出它。更多信息:https://github.com/encode/django-rest-framework/issues/2145 – Bosco