Как сделать параметр модели уникальным по другому параметру в 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',)

Это помогло :)

Вернуться на верх