Как написать выражение 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().
Если говорить именно про уровень БД, даже не про конкретный ЯП, то проблема решается введением для Image поля "порядковый номер" OrderNum (с ограничением значений в 10 шт, например: от 0 до 9) и объявляем уникальный индекс на пару полей Product + OrderNum.