@NyxDeveloper

Как запретить присвоение id полям ForignKey того объекта, у которого определенное поле равно False?

Есть модель:
class SomeObj(models.Model):
    name = models.CharField(verbose_name='Название', max_lenght=100)
    active = models.BooleanField(verbose_name='Активный', default=True)
    desc = models.TextField('Примечание', blank=True)


У других моделей есть поля ForignKey на эту модель. Нужно написать нечто на подобии проверки при присваивании id этой модели в поле другой, является ли проект активным. Я знаю, что это можно сделать с помощью сигналов и примерно представляю как, но сигналы нужно вешать на все таблицы, при сохранении объектов которых нужно производить проверку. Есть ли способ сделать это более элегантно и универсально? Спасибо!
  • Вопрос задан
  • 18 просмотров
Пригласить эксперта
Ответы на вопрос 1
@maksam07
Можно:
1. Валидатор на форму (https://docs.djangoproject.com/en/3.2/topics/forms...)
2. Переопределить save() модели (https://docs.djangoproject.com/en/3.2/topics/db/mo...)
3. Переопределить save() формы (https://docs.djangoproject.com/en/3.2/topics/forms...)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы