Django autocomplete возвращает пустоту для связанных данных
В моем приложении django admin у меня есть таблица Site со ссылками на Countries, и на определенные Regions (провинции/штаты).
В настоящее время при попытке добавить запись на сайт в выпадающих меню для стран и регионов отображаются все возможные объекты.
Я хотел бы, чтобы в выпадающем списке регионов отображались только возможные объекты в соответствии с ранее выбранной опцией Country. Например, выбор Канады в выпадающем списке Страна должен привести к тому, что в выпадающем списке Регион будут отображаться только канадские провинции.
Для этого я попробовал использовать библиотеку django-autocomplete-light, в соответствии с базовыми руководствами. К сожалению, выпадающий список регионов теперь показывает следующую ошибку.
Вот мои файлы model.py, form.py и admin.py.
class Country(models.Model):
country = models.CharField(max_length=200)
class Region(models.Model):
region = models.CharField(max_length=200)
country = models.ForeignKey(Country, models.CASCADE, null=True, blank=True)
class Site(models.Model):
country = models.ForeignKey(Country, models.CASCADE, null=True, blank=True)
region = models.ForeignKey(Region, models.CASCADE, null=True, blank=True)
class TestForm(forms.ModelForm):
class Meta:
model = Site
fields = '__all__'
widgets = {
'region': autocomplete.ModelSelect2(url='sites/site', forward=('country',))
}
@admin.register(Site)
class SiteAdmin(autocomplete.Select2QuerySetView):
form = TestForm
Редактирование 1: Чтобы добавить немного больше информации, журналы приложения показывают, что произошел такой запрос:
/admin/sites/site/add/sites/site/?forward=%7B%22country%22%3A%221%22%7D
что, как я полагаю, переводится как:
/admin/sites/site/add/sites/site/?forward={"country":"1"}