Django моделей, определенных в tests.py, не создаются в базе данных - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь запустить тестовые наборы, заданные Django "https://github.com/django/django/tree/master/tests" для базы данных по умолчанию sqlite.

Для одного из приложений "custom_lookups" появляется сообщение об ошибке "Исключение: сбой выполнения оператора: [IBM] [Драйвер CLI] [DB2 / NT64] SQL0204N" DB2ADMIN.CUSTOM_LOOKUPS_CUSTOMMODEL "не определено name. SQLSTATE = 42704 "

Я использую эту команду" ./runtests.py --settings = settings custom_lookups "Я также включил это имя приложения в INSTALLED_APPS в файле настроек.

Эта модель (т. Е. Custommodel), для которой я получаю ошибку, определяется в файле tests.py, как показано ниже,


класс CustomField (models.TextField):

def get_lookup(self, lookup_name):
    if lookup_name.startswith('lookupfunc_'):
        key, name = lookup_name.split('_', 1)
        return SQLFuncFactory(key, name)
    return super().get_lookup(lookup_name)

def get_transform(self, lookup_name):
    if lookup_name.startswith('transformfunc_'):
        key, name = lookup_name.split('_', 1)
        return SQLFuncFactory(key, name)
    return super().get_transform(lookup_name)

класс CustomModel (models.Model): field = CustomField ()


Вы можете найти весь код в github для этого Django набора тестов https://github.com/django/django/tree/master/tests/custom_lookups

Что Я обнаружил, что модели, определенные в файле models.py, были перенесены, но все модели, определенные в tests.py, не переносятся, но будут созданы во время выполнения тестового примера и будут удалены одновременно после запуска тестового примера.

Мой вопрос, почему модели определены в т ests.py не выбирается для переноса, но после запуска полного набора тестов он пытается залить sh это? следовательно, я получаю вышеуказанную ошибку.

что за это исправить?

Об одной из тех же проблем, о которых сообщалось, я обнаружил здесь https://github.com/jazzband/django-nose/issues/15, но я не получил никакого решения.

...