Ошибка документа Google App Engine Python Search API

Я использую Python 1.6.6 SDK и не могу заставить поисковый API инициализировать новый документ:

from google.appengine.api import search

def index_document(document_id, some_string):
    return search.Document(
        doc_id=document_id,
        fields=[
            search.TextField(name='text_field', value=some_string),
            search.DateField(name='date', value=datetime.now().date())
        ])

В ответ получаю:

AttributeError: type object 'search' has no attribute 'Document'

Я не вижу никаких доказательств того, что это общая проблема, и все документы указывают на то, что это процедура инициализации документа.

Однако, если я помещаю вызов API в функцию, она выполняется, как и ожидалось:

def index_document(document_id, some_string):

    from google.appengine.api import search

    return search.Document(...

Я не вижу причин, по которым это сработает, но глобальный импорт не сработает, поскольку я импортирую ряд их API. Кто-нибудь имел подобную проблему/успех в том, чтобы заставить его работать?


person notreadbyhumans    schedule 31.05.2012    source источник
comment
Глобальный импорт должен работать нормально, и с вашим кодом все в порядке. Вы определенно используете 1.6.6. SDK? (Сам импорт дает вам ошибку?) Есть ли шанс, что то, что вы намереваетесь использовать как глобальный импорт, на самом деле имеет более локальную область действия?   -  person Amy U.    schedule 01.06.2012
comment
Дох!!! У меня был поиск с именем webapp.RequestHandler! Переименование решило проблему.   -  person notreadbyhumans    schedule 01.06.2012


Ответы (1)


Убедитесь, что у вас нет других объектов с таким же именем.

person notreadbyhumans    schedule 01.06.2012