Как сделать параметр модели уникальным по другому параметру в Django?
Я хочу, чтобы мое поле id было уникальным для каждого поля customer. Подобно варианту unique_for_date из Django (https://docs.djangoproject.com/en/1.11/ref/models/fields/#unique), но в данном случае не дата, а клиент.
class Sample(NGObject):
id = models.CharField(max_length=128, null=True, blank=False)
customer = models.ForeignKey(Customer, related_name="blood_samples", on_delete=models.SET(get_default_customer))
Я считаю, что это должно быть сделано до метода save()?
Когда пользователь пишет неправильный ID (который уже существует), я хотел бы также представить информацию в форме администратора, как для обычной уникальной ошибки.
class Meta:
unique_together = ('sample_id', 'customer',)
Это помогло :)