Задать вопрос

Как написать выражение CheckConstraint класса Meta модели django для проверки не превышения количества строк ключа ForeignKey?

Есть следующие модели Django:

class Product(models.Model):
   name = CharField(...)

class Image(models.Model):
   src = ImageField(...)
   product = ForeignKey(Product, ...)

   Meta:
       constraints = [
            CheckConstraint(???)
       ]

Помогите составить ограничение (constraint) в классе Meta модели Image, которое проверяло бы, что количество изображений товара не превышает 10.
Требуется решение на уровне базы данных, а не приложения методом clean().
  • Вопрос задан
  • 63 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Django: создание backend-приложений
    7 недель
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Решения вопроса 1
@AVSomov
Если говорить именно про уровень БД, даже не про конкретный ЯП, то проблема решается введением для Image поля "порядковый номер" OrderNum (с ограничением значений в 10 шт, например: от 0 до 9) и объявляем уникальный индекс на пару полей Product + OrderNum.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы