Есть ли польза от разбиения полей на отдельные таблицы?

Вот мои модели:

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 на собственные таблицы.

Поможет ли это в дальнейшем с фильтрацией или чем-то подобным?

Спасибо

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