Я использую django-autocomplete-light для поля CharField.
Мой код:
class MyModel(models.Model):
name = models.CharField(
'MyName',
max_length=200,
)
city = models.CharField(
'City',
max_length=200,
)
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
list_display = (
'pk',
'name',
)
form = MyModelForm
class MyModelForm(forms.ModelForm):
class Meta:
model = MyModel
exclude = []
widgets = auto_widgets_city
auto_widgets_city = {
'city': autocomplete.ListSelect2(
url='city-autocomplete',
),
}
class CityAutocomplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
qs = City.objects.all()
return qs
Это работает, в базу сохраняется строка с id города. Но если я захожу в админке в существующий объект, то поле City становиться пустым и предлагает мне заново выбрать. Как сделать чтобы отображалось то, что сохранено в БД?