django - "manage.py test" не проходит "таблица уже существует" - PullRequest
7 голосов
/ 03 февраля 2011

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

Любое понимание очень ценится.

TIA Joey

Ответы [ 4 ]

15 голосов
/ 03 февраля 2011

Это может быть ошибка в одной из ваших миграций на юг.Вы не видите проблемы на реальном БД, потому что миграция была выполнена (возможно, с опцией - fake)

Вы можете попытаться воссоздать БД из scracth и посмотреть, работает ли она.

Вы также можете отключить Юг для юнит-тестов, добавив SOUTH_TESTS_MIGRATE = False в файл settings.py.С этой опцией будет сделан обычный syncdb для создания тестовой базы данных.Это также ускорит процесс тестирования.

Надеюсь, это поможет

1 голос
/ 15 августа 2014

Это также произошло со старым кодом, но по другой причине.

У меня было две модели с db_table, ссылающимися на одну и ту же таблицу БД.Я знаю, что это глупо, но это не моя вина)

И я не нашел в интернете ничего, что могло бы мне помочь.Я был спасен многословием, установленным на 3 (manage.py test -v 3) Надеюсь, это кому-нибудь поможет.

class Bla1(Model):
    some_column = ...
    class Meta:
        db_table = 'some_table'

class Bla2(Model):
    some_column = ...
    class Meta:
        db_table = 'some_table'
0 голосов
/ 02 августа 2013

Это происходит также с Носом, когда
--cover-package=userdata,incorrectname
Неверное имя одного пакета

0 голосов
/ 11 сентября 2011

и если вы тестируете носом:

DST_RUN_SOUTH_MIGRATIONS = False

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...