Использование 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