Мне нужно обработать три поля из модели как уникальные. Проблема в том, что одним из них является ManyToManyField, поэтому я не могу использовать встроенную функциональность Django unique_together. Как бы вы справились с этой проблемой? База данных, которую я использую, - MySQL.
Пример:
class A(models.Model):
name = models.CharField(max_length=255)
class B(model.Model):
name = models.CharField(max_length=255)
other_field = models.CharField(max_length=255)
a_m2m = models.ManyToManyField(A, blank=True)
И я хочу, чтобы name, other_field и все поля из отношения m2m были уникальными вместе.
Итак, следующие "строки"для B рассматриваются как единое целое и уникальны (с м2м):
name: 1, other_field: 1, a_m2m: (1, 2, 3)
name: 1, other_field: 1, a_m2m: (1, 2)
name: 1, other_field: 2, a_m2m: (1, 2, 3)
name: 1, other_field: 1, a_m2m: (1, 2, 4)
Как бы вы сделали это в Django / MySQL?