У меня есть четыре таблицы:
class Instrument(models.Model):
name = models.CharField(max_length=100, null=True, blank=True)
instrumentation = models.ManyToManyField(Instrumentation, verbose_name=_('instrumentation'), related_name='instrument', blank=True)
class Instrumentation(models.Model):
name = models.CharField(max_length=100, null=True, blank=True)
Записи в таблице:
row 1: name = violin, instrumentation = piano trio
row 2: name = piano, instrumentation = piano trio
row 3: name = cello, instrumentation = piano trio
Вот две другие таблицы:
class Ensemble(models.Model):
name = models.CharField(max_length=200, null=True, blank=True)
class EnsembleMember(models.Model):
ensemble = models.ForeignKey(Ensemble, verbose_name=_('ensemble'), related_name='ensemble_member', on_delete=models.PROTECT)
member = models.ForeignKey(Person, verbose_name=_('member'), null=True, blank=True, on_delete=models.PROTECT)
row 1: name = person 1 (violinist), ensemble = Beau Arts Trio
row 2: name = person 2 (pianist), ensemble = Beau Arts Trio
row 3: name = person 3 (cellist), ensemble = Beau Arts Trio
Каксвязать инструмент с EnsembleMember? ForeignKey или ManyToManyField?
Инструмент для сопоставления множеству различных членов ансамбля.
row 1 in Instrument to row 1 in Ensemble Member
row 2 in Instrument to row 2 in Ensemble Member
row 3 in Instrument to row 3 in Ensemble Member
И варианты выпадающего меню в admin.py