FFSinit
@FFSinit

Как настроить django_autocomplete_light для работы с GenericForeignKey?

Значит суть проблемы, есть модель Foo
class Foo(Displayable):
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = GenericForeignKey('content_type', 'object_id')

И есть модель Bar
class Bar(models.Model):
    name = models.CharField(max_length=255)
    slug = models.SlugField(max_length=255)


В будущем будет еще несколько аналогичных Bar моделей, и нужна возможность связать экземпляр Foo с одним из экземпляров Bar или аналогичной модели. Поэтому решено было использовать GenericForeignKey. По умолчанию в админке джанги подобные связи создавать очень не удобно, поэтому был нагуглен autocomplete_light который судя по документации делает это очень удобно.
Сделал вроде бы всё как положено, в корне приложения с админкой которой работаем создан файл autocomplete_light_registry.py такого содержания:

import autocomplete_light
from barapp.models import Bar


class AutocompleteBarItems(autocomplete_light.AutocompleteGenericBase):
    choices = (
       Bar.objects.all(),
    )

    search_fields = (
        ('name', ),
    )

autocomplete_light.register(AutocompleteModelItems)

В admin.py
class EntryAdmin(admin.ModelAdmin):
    form = autocomplete_light.modelform_factory(Entry)


В итоге получаю
KeyError: u'manager'
вместо работающего автокомплита.
Подскажите кто что может, я себе уже весь мозг сломал с этим автокомплитом.
  • Вопрос задан
  • 424 просмотра
Решения вопроса 1
FFSinit
@FFSinit Автор вопроса
сам спросил, сам ответил. Проблема в django 1.7 о чем я и забыл упомянуть в вопросе. С 1.5.8 работает.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы