Ошибка django-dbindexer: имя должно быть экземпляром базовой строки - PullRequest
0 голосов
/ 09 августа 2011

Я использую Django-nonrel из All Buttons Pressed и пытаюсь реализовать django-dbindexer. Я могу подключиться к MongoDB, создавать, обновлять и удалять документы.

Однако, когда я попытался реализовать django-dbindexer , я получил следующее исключение:

Неправильно настроено при рендеринге: имя должно быть экземпляром базовой строки

Вот моя модель, настройки и dbindexes:

#settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django_mongodb_engine',
        'NAME': 'test',
        'USER': '',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': 27017,
    }
}

DATABASES['native'] = DATABASES['default']
DATABASES['default'] = {'ENGINE': 'dbindexer', 'TARGET': 'native'}
AUTOLOAD_SITECONF = 'dbindexes'

MIDDLWARE_CLASSES = (
    'autoload.middleware.AutoloadMiddleware',
    ...
)

INSTALLED_APPS = (
    ...
    'blog',
    'autoload',
    'dbindexer',
)

#blog/models.py
from django.db import models
from djangotoolbox.fields import ListField

class Post(models.Model):
    title = models.CharField(max_length=100)
    text = models.TextField()
    tags = ListField(blank=True)
    comments = ListField(blank=True)

    def __unicode__(self):
        return self.title

#base dbindexes.py
from dbindexer import autodiscover

autodiscover()

#blog/dbindexes.py
from blog.models import Post
from dbindexer.api import register_index

register_index(Post, {'title' : 'iexact'})

Кто-нибудь может увидеть, что я делаю не так? Большое спасибо заранее!

[Update] Вот полный трекбек: http://pastie.org/2346423

...