Изменяемый выпадающий список в админке Django

Есть две модели - Project и Document (документации для проекта):

class Project(models.Model):
    location = models.CharField('Местоположение', max_length=255, db_index=True)
    pub_date = models.DateTimeField('Дата публикации проекта на сайте', default=timezone.now)
    slug = models.SlugField('Url проекта', max_length=255, unique=True, db_index=True)


class Document(models.Model):

    class DocumentName(models.TextChoices):
        CONSTRUCTION_PERMIT = 'РАЗРЕШЕНИЕ НА СТРОИТЕЛЬСТВО'
        CONCLUSION_ON_COMPLIANCE  = 'ЗАКЛЮЧЕНИЕ О СООТВЕТСТВИИ ЗАСТРОЙЩИКА И ПРОЕКТНОЙ ДЕКЛАРАЦИИ'

    project = models.ForeignKey(Project, on_delete=models.CASCADE, verbose_name='Проект')
    document_name = models.CharField('Название документа', 
                                     choices=DocumentName.choices, 
                                     max_length=255)
    document_file = models.FileField(upload_to=project_dir_path, verbose_name='Файл документа')

Хочу реализовать такой функционал, чтобы в админке был список с готовым перечнем документов. Но если документа нет в списке, то пользователь в поле прописывает свой вариант документа и добавляет его (название из поля должно динамически добавляться в список документов, чтобы в следующий раз оно уже присутствовало в этом списке). Изначально думал сделать это через ChoicesField, но так как он хранит кортежи, думаю, что этот вариант отпадает. Решил сделать через TextChoices, но пока не понимаю как все это реализовать. Пробую найти решения на просторах интернета, но пока безуспешно. Кто может подсказать, пожалуйста? Может быть кто-то реализовывал подобное.


Ответы (0 шт):