Django sql check - PullRequest
       1

Django sql check

1 голос
/ 23 марта 2012

У меня есть две таблицы сходства документов (id, file) (id1, id2, Similarityvalue), где id1 и id2 - внешние ключи для идентификатора таблицы документов.Я хочу добавить проверку в django (в модели), чтобы убедиться, что id1! = Id2

Есть ли способ добавить это в django. (Вроде как добавление проверки sql).

1 Ответ

1 голос
/ 23 марта 2012

Из Django Docs :

Model.clean()
""" This method should be used to provide custom model validation, and to 
modify attributes on your model if desired. For instance, you could use it to
automatically provide a value for a field, or to do validation that requires 
access to more than a single field: """

def clean(self):
    from django.core.exceptions import ValidationError

    if self.status == 'draft' and self.pub_date is not None:
        raise ValidationError('Draft entries may not have a publication date.')

Поэтому для ваших целей вы должны написать что-то вроде следующего для вашей similarity модели:

def clean(self):
    from django.core.exceptions import ValidationError
    if self.id1 == self.id2:
        raise ValidationError('Entries must compare different objects')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...