Я реализую простой API CRUD с использованием Django + Django rest и у вас есть сомнения.
У меня есть две модели:
class Shoe(models.Model):
_id = models.AutoField(primary_key=True)
description = models.CharField(max_length=100, null=False, blank=False)
provider = models.CharField(max_length=100, null=False, blank=False)
type = models.CharField(max_length=2, choices=TIPO_CHOICES, null=False, blank=False)
cost_price = models.DecimalField(
max_digits=6, decimal_places=2, verbose_name = 'Preço de Custo',
null=False, blank=False
)
sale_price = models.DecimalField(
max_digits=6, decimal_places=2, verbose_name = 'Preço de Venda',
null=False, blank=False
)
class Stock(models.Model):
_id = models.AutoField(primary_key=True)
id_shoe = models.ForeignKey(
Shoe, on_delete = models.CASCADE, verbose_name = 'shoe', related_name = 'stock')
size = models.IntegerField(choices=NUMERACAO_CHOICES, null=False, blank=False)
amount = models.IntegerField(null=False, default=0)
То, что я хочу, это то, что, когда кто-то пытается вставить запас такого размера (определенной обуви), который уже существует, он возвращает ошибку. Я не могу просто быть «уникальным» по параметрам размера. Любые предложения о том, как это сделать?