@RedFosfor
Веб-программист

Как хранить данные в БД и какую связь выбрать?

Есть три таблица. На сколько правильный подход таких вложенных ManyToMany? Влияет ли это на нагрузку бд? Quote.text это уникальное значение(цитата )для каждой book. Как организовать Quote.translate что бы хранить данные в таком виде:
водить отвезти ехать ездить поехать вести

class Translate(models.Model):
    text = models.TextField(blank=True, null=True)
    
class Quote(models.Model):
    text = models.TextField(blank=True, null=True)
    translate = models.ManyToManyField(Translate, blank=True)
        
class Book(models.Model):
    name = models.TextField(unique=True)
    quote = models.ManyToManyField(Quote, blank=True)


или так будет правильнее?
class Book(models.Model):
    name = models.TextField(unique=True)

class Quote(models.Model):
    book= models.ForeignKey(Book, on_delete=CASCADE) 
    
class Translate(models.Model):
    quote= models.ForeignKey(Quote, on_delete=CASCADE)
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Очевидно, одна цитата не может быть из разных книг, как и один перевод не может быть разных фраз, так что отношение точно должно быть один ко многим.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы