Обновление виджета по умолчанию для Django Smart Selects - ChainedManyToManyField
Я использую библиотеку Django-Smart-Selects для поля ManytoMany. По умолчанию в шаблонах это поле отображается как Multiple Select вместо обычного select.
from smart_selects.db_fields import ChainedManyToManyField
class Publication(models.Model):
name = models.CharField(max_length=255)
class Writer(models.Model):
name = models.CharField(max_length=255)
publications = models.ManyToManyField('Publication', blank=True, null=True)
class Book(models.Model):
publication = models.ForeignKey(Publication)
writer = ChainedManyToManyField(
Writer,
horizontal=True,
verbose_name='writer',
chained_field="publication",
chained_model_field="publications")
name = models.CharField(max_length=255)
Как я могу обновить виджет по умолчанию, чтобы он стал обычным выпадающим меню выбора?
Глядя на исходный код (form_fields.py), я вижу, что ChainedSelectMultiple используется как виджет по умолчанию. Если я обновлю исходный код, чтобы использовать ChainedSelect, то все работает как надо.
Я просто ищу способ переопределить это без обновления исходного кода самой библиотеки smart select. Я пытался обновить ее через форму приложения моего проекта, но не преуспел.
#writer = ChainedManyToManyField(attrs={'widget': ChainedSelect})
Любые подсказки или указания будут оценены по достоинству.