Добавление нескольких значений в атрибут модели django

Я хочу добавить атрибут в модель django столько, сколько захочет пользователь.
Например, я хочу добавить несколько академических степеней

class Employer(models.Model):
    academic_degree = models.CharField(max_length=100, null=True, blank=True)

С помощью этого кода мы можем добавить только одну степень, а если у человека больше, он или она не сможет их добавить.
Мне нужен способ добавить столько степеней, сколько я хочу в формах django. Возможно ли это?

Два способа сделать это:

  1. Используйте ManyToManyField и храните ученые степени в другой таблице. Например:
class AcademicDegree(models.Model):
    name = models.CharField(...)

class Employer(models.Model):
    academic_degree = models.ManyToManyField(AcademicDegree)
  1. Используйте поле json или массив (ArrayField работает только в том случае, если вы используете базу данных Postgres). Вот пример для JSONField():
academic_degree = models.JSONField()

Вам нужно будет управлять этим полем, чтобы рассматривать его как список.

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