уникальность поля в модели django при условии

Есть связанные модели продукта и версии. Хочу чтобы поле версии было уникальным для определенного продукта. То есть чтобы нельзя было создать две версии для одного продукта с одинаковым номером. Подскажите плиз как это реализовать?

class Product(models.Model):
    product_name = models.CharField(max_length=100, verbose_name="Название")
    description = models.TextField(verbose_name="Описание")
    image = models.ImageField(
        verbose_name="картинка",
        upload_to="product_catalog/photo",
        blank=True,
        null=True,
    )
    category = models.ForeignKey(
        "Category",
        verbose_name="Категория",
        on_delete=models.SET_NULL,
        null=True,
        blank=True,
        related_name="products",
    )
    price = models.IntegerField(verbose_name="цена за покупку")
    created_at = models.DateField(auto_now_add=True, verbose_name="Дата создания")
    updated_at = models.DateField(auto_now=True, verbose_name="Дата последнего изменения")

    def __str__(self):
        return f"{self.product_name} ({self.description})"

    class Meta:
        verbose_name = "Товар"
        verbose_name_plural = "Товары"
        ordering = ("id",)


class Version(models.Model):
    product = models.ForeignKey(Product, on_delete=models.CASCADE, verbose_name="Продукт")
    number = models.IntegerField(verbose_name="Номер версии")
    name = models.CharField(max_length=100, verbose_name="Название версии")
    is_active = models.BooleanField(verbose_name="Признак текущей версии")

    class Meta:
        verbose_name = "Версия"
        verbose_name_plural = "Версии"

    def __str__(self):
        return f"{self.number} - {self.name}"

Ответы (0 шт):