Есть ли польза от разбиения полей на отдельные таблицы?
Вот мои модели:
class Organism(models.Model):
genbank = models.CharField(max_length = 10, primary_key=True, unique=True)
genus = models.CharField(max_length = 50)
species = models.CharField(max_length = 50)
strain = models.CharField(max_length = 50)
organism_sequence = models.TextField()
created_at = models.DateTimeField(auto_now_add = True)
user = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete = models.SET_NULL,
null=True)
class Motif(models.Model):
organism = models.ForeignKey(
'Organism',
on_delete = models.CASCADE,
related_name= "motifs",
)
region_name = models.CharField(max_length = 15, choices = MOTIF_CHOICES)
motif_sequence = models.CharField(max_length = 600)
user = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete = models.SET_NULL,
null=True,
)
created_at = models.DateTimeField(auto_now_add = True)
По сути, это библиотека. Каждый Организм имеет мотивы в качестве дочерних объектов.
Поможет ли мне создание таблиц Genus, Strain и Species вместо полей? Я спрашиваю потому, что видел нечто подобное в MDN tutorial библиотеки, где язык и жанр были разбиты на собственные таблицы. Если бы я следовал той же логике для своего проекта, я бы разбил поля Genus, Species и Strain на собственные таблицы.
Поможет ли это в дальнейшем с фильтрацией или чем-то подобным?
Спасибо