我和Django玩了几天,偶然发现了以下问题。我有以下型号:
Employee = (id, employeeName)
Project = (id, projectName)
Assignment = (fk_employee, fk_project, from_date, to_date)
我想要做的是创建一个不允许赋值周期重叠的验证器。该算法非常简单,但我不知道如何使用验证器正确设置它。
我认为有类似的东西:
class Assignment(models.Model):
...
from_date = models.DateField(
validators=[DateInRangeValidator(%theFromDateValue%, %aReferenceToTheEmployee%)])
to_date = models.DateField(
validators=[DateInRangeValidator(%theToDateValue%, %aReferenceToTheEmployee%)])
def DateInRangeValidator(dateValue, employee):
...
顺便说一下,我写了这些%theDateValue%和%aReferenceToTheEmployee%,因为我不知道如何发送这些参数。它会是'自我','from_date'还是其他什么?
那么,我接近解决方案了吗?提前致谢! :)
答案 0 :(得分:0)