Использование Django DiscoverRunner с django_hstore

У меня есть тестовые случаи, созданные в Django 1.5 и MySQL. С тех пор наша команда перевела наше приложение на использование Django 1.6 и PostgreSQL с расширением django_hstore (бета-версия 1.2.2).

Это работало отлично, пока я не попытался перенести наши тесты на набор тестов DiscoverRunner.

Кажется, проблема в том, что DjangoTestRunner загрузит все приложения, определенные в INSTALLED_APPS, но DiscoverRunner больше не загружает их.

Я получаю ошибку:

... lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
    return self.cursor.execute(sql, params)
ProgrammingError: can't adapt type 'HStoreDict'

И это потому, что эта линия в src/django_hstore/models.py не запускается:

connection_handler.attach_handler(register_hstore_handler, vendor="postgresql", unique=True)

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


Удаление в django_hstore 1.2.4 не решает проблему.

С этой версией я получаю похожую ошибку:

ProgrammingError: can't adapt type 'dict'

Если я не взломать импорт from django_hstore import models as something, Есть ли способ заставить приложение загружаться без лишнего импорта, подобного этому?

1 ответ

Решение

Хотя мне уже поздно отвечать, но я публикую это, потому что это может помочь кому-то для дальнейшего использования. Эта проблема была решена для меня путем обновления django_hstore до 1.4

Другие вопросы по тегам