Я создаю приложение в Django, которое позволяет пользователям добавлять элементы в свой профиль, такие как предыдущий опыт работы.Проблема, с которой я сталкиваюсь, заключается в том, что разные пользователи имеют разный опыт.Мой текущий подход заключается в том, чтобы иметь модель, которая выглядит примерно так:
class MyModel(models.Model):
owner = models.ForeignKey(User, related_name='modelowner', on_delete=models.CASCADE)
experience1_company = models.TextField(null=True, blank=True)
experience2_company = models.TextField(null=True, blank=True)
experience3_company = models.TextField(null=True, blank=True)
...
experience10_company = models.TextField(null=True, blank=True)
experience1_title = models.TextField(null=True, blank=True)
experience2_title = models.TextField(null=True, blank=True)
experience3_title = models.TextField(null=True, blank=True)
...
experience10_title = models.TextField(null=True, blank=True)
В моей нынешней модели пользователь может ввести до 10 предыдущих ролей, что охватывает около 95% + пользователей.Однако очевидно, что это проблема, когда каждый предыдущий опыт, который вводит пользователь, имеет пять других атрибутов (дата начала, дата окончания, заголовок, описание, местоположение).это означает, что в итоге модель содержит около 60 атрибутов ... и если мне нужно добавить что-то новое, мне нужно добавить это 10 раз.
Вопрос: есть ли способ динамически создавать новые атрибуты моделидля пользователей, которые имеют более X количества опытов или лучше всего, чтобы каждый из них был явно определен в модели и имел практическое ограничение (например, вы можете ввести только до 10)?