django-autocomplete-light не работает с autocomplete.ModelSelect2Multiple - PullRequest
0 голосов
/ 22 марта 2019

Следуя инструкции при создании модели с ManyToManyField:

class Country(models.Model):
    name = models.CharField(max_length=200)
    def __str__(self):
        return self.name

class Person(models.Model):
    visited_countries = models.ManyToManyField(Country)

А затем визуализировать форму с помощью виджета ModelSelect2Multiple:

widgets = {
    'visited_countries': autocomplete.ModelSelect2Multiple(
        url='country-autocomplete')
}

Отправляемые данные поступают как одно значение, а не как массив, поэтому объект Person никогда не создается при сохранении формы.

Есть ли способ сделать его массивом и соответствующим образом создать отношение ManyToMany?

1 Ответ

0 голосов
/ 22 марта 2019

Оказывается, проблема была в том, как я справлялся с данными на мой взгляд.Я делал:

data = request.POST.dict()
form = PersonForm(data)

Однако я должен был сделать:

form = PersonForm(data=request.POST)

Поскольку преобразование в словарь принимает первое значение.

...