Я пару дней играл с Джанго и наткнулся на следующую проблему. У меня есть следующие модели:
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%, потому что я не знаю, как отправить эти параметры. Будет ли это «я», «от_даты» или что-то еще?
Итак, я близок к решению? Заранее спасибо! :)