Я настраиваю модель Django для веб-приложения, однако моя текущая модель больше не будет достаточна для пользователей. Как можно расширить модель Experience , чтобы точно отразить требования к истории опыта работы?
Мое веб-приложение - это приложение для обучения, оно должно содержать подробную информацию об истории работы или опыте работы с новым преподавателем. Таким образом, репетитору с 3-мя предыдущими стажами работы необходимо будет ввести 3 разных истории опыта работы.
В настоящее время мое веб-приложение отслеживает только от 1 до 3 истории опыта работы (как видно из кода Experience Experience , приведенного ниже), но мне нужно захватить варианты использования для преподавателя, скажем, n история опыта работы .
Модель репетитора (для справки)
class Tutor(models.Model):
"""Model representing a tutor."""
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
email_address = models.EmailField(max_length=100, primary_key=True)
phone_num = models.CharField(max_length=15)
years_of_experience = models.IntegerField(default=0)
username = models.CharField(max_length=50, unique=True)
...
Модель опыта (где мне нужно собрать n историю опыта работы)
class Experience(models.Model):
"""Model representing a tutor's experience."""
tutor = models.ForeignKey(Tutor, on_delete=models.CASCADE)
organization_one = models.CharField(max_length=100, null=True, blank=True)
job_position_one = models.CharField(max_length=100, null=True, blank=True)
organization_two = models.CharField(max_length=100, null=True, blank=True)
job_position_two = models.CharField(max_length=100, null=True, blank=True)
organization_three = models.CharField(max_length=100, null=True, blank=True)
job_position_three = models.CharField(max_length=100, null=True, blank=True)
...
Если я продолжу эту модель выше, мне нужно будет создать n столбцов для записи n истории опыта работы. Я чувствую, что есть лучший подход, но пока не знаю.