Работа с курсами по проектированию баз данных на нескольких языках
Мне нужно обрабатывать курсы, доступные на нескольких языках, а также отслеживать прогресс пользователя для каждого доступного языка
class Language(models.Model):
code = models.CharField(primary_key = True)
name = models.CharField()
class TextContent(models.Model):
textId = models.UUIDField(default = uuid4, primary_key = True,editable = False)
language = models.OneToOneField(Language)
class OriginalText(models.Model):
originalText = models.CharFIeld()
language = models.ForeignKey(Language)
class Product(models.Model):
name = models.OneToOneField()
title = models.OneToOneField(OriginalText)
class Course(models.Model):
languages = models.ManyToManyField(Language)
class Chapter(models.Model):
title = models.OneToOneField(OriginalText)
...........
class Lesson(models.Model):
title = models.OneToOneField(OrigianlText)
class LessonContent(models.Model):
lesson = models.ForeignKey(Lesson)
language = models.ForeignKey(Language)
textContent = models.TextField()
videoContent = models.FielField()
class CourseEnrollment(models.Model):
course = models.ForeignKey(Course)
user = models.ForeignKey(User)
В классе LessonContent у меня есть поля textContent и videoContent, потому что урок может быть видео или просто статьей
Я хочу отслеживать прогресс пользователя в плане глав и времени видео, чтобы продолжить, если он был прерван, и специально, что каждый урок видео может быть разной длины в зависимости от языка, я все еще пытаюсь найти способ достичь этого
class UserProgress(models.Model):
......
Итак, является ли мой способ работы с курсами на нескольких языках правильным, и если кто-то может помочь мне с отслеживанием прогресса пользователей, любая помощь будет очень признательна