Структура моделей для хранения подмножества вариантов выбора, которые будут доступны в зависимости от редактируемой строки
Я создаю сайт, который отслеживает детали, эти детали относятся к подразделу проекта, обозначаемому кодами разделов. Я хочу иметь возможность ограничивать выбор кодов в зависимости от того, к какому проекту принадлежит деталь, но не уверен в том, как лучше хранить список допустимых кодов.
Я начал с:
class Project(models.Model):
name = models.CharField(max_length=40)
number = models.IntegerField()
class Section(models.Model):
code = CharField(max_length=1)
class Part(models.Model):
number = models.IntegerField()
project = models.ForeignKey(Project, on_delete=models.PROTECT)
section = models.ForeignKey(Section, on_delete=models.PROTECT)
Проблема в том, что тогда все части будут выбирать из одного и того же списка кодов разделов.
--- edit1 ---
Подумав об этом немного больше, можно ли считать, что это много-ко-многим? У данного проекта много кодов, и данный код может применяться ко многим проектам.