Простая проверка Django с выдачей нескольких параметров - PullRequest
0 голосов
/ 08 августа 2010

Я пару дней играл с Джанго и наткнулся на следующую проблему. У меня есть следующие модели:

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%, потому что я не знаю, как отправить эти параметры. Будет ли это «я», «от_даты» или что-то еще?

Итак, я близок к решению? Заранее спасибо! :)

1 Ответ

0 голосов
/ 08 августа 2010

Вам необходим доступ к нескольким полям модели, и это проверка модели, а не проверка поля.

Так что вы можете рассмотреть возможность переопределения метода clean класса Assignment.

Эта часть документа Django может быть полезна для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...