бд?
То есть: у меня есть числовые промежутки (start point и end point). Когда я добавляю новую запись в бд, нужно чтоб проверялось не совпадает ли промежуток новой записи с уже существующими
спасибо
В методе clean у модели
о, спасибо. Как из модели правильно обратиться к БД, чтоб достать все значения, с которыми нужно сверять? Спасибо
self
разве это не данные объекта, которые инициализируется в данный момент?
если добавляешь через форму - сделай вадидацию в clean() методе формы. если через DRF, то в сериализаторе если в обоих местах, то валидацию можешь оформить отдельной функцией/классом. И использовать в обоих. Дополнительно можешь навесить constraint в БД, если проверяешь услвоия в пределах одной модели/таблицы в БД
У меня есть 1 таблица. Поля: name start end. Мне нужно сделать, чтоб при добавлении новой записи в бд (сейчас через shell) проверялось сходство с имеющимися записями, в случае совпадения промежутков >>> raise Error
предложенные мной варианты - отлично подходят)
круто, буду теперь пытаться разобраться с ними) Спасибки
и всё-таки, как изнури самого класса обратиться к данным в БД?😅
не подскажу, сам так не делаю и другим не советую)
так а когда как мне при создании объекта сверять с записями в бд? P.S. ( Вот так: Model_name.objects.all() )
запрос что-ли не можешь составить?
if MyModel.objects.filter(start=start_date, end=end_date).exists(): raise ... / return False return True
clean ничего не возвращает
чей clean()?
модельный
я выше советывал другие варианты. Там сработает
Обсуждают сегодня