Django Syncdb игнорировать конкретную модель - PullRequest
2 голосов
/ 08 июня 2011

Есть ли способ заставить syncdb игнорировать конкретную таблицу?

Я решил объявить M2M дважды, потому что из одной модели я хотел, чтобы он выглядел как простой M2M, который работает с filter_horizontal.В другом я добавил сквозное поле и показал его в строке.Я использовал db_table, чтобы простой использовал ту же самую сквозную таблицу.Обычно все это работает хорошо, НО в syncdb я всегда получаю сообщение об ошибке при первом запуске, потому что он думает, что должен создать таблицу дважды, но он уже существует во второй раз.Не проблема, пока я не приступлю к тестированию, которое создает тестовую базу данных и дает сбой.Может быть, я просто идиот за использование этого хака.Есть ли способ заставить Django игнорировать эту ошибку или указать, чтобы не создавать m2m через таблицу во второй раз?

1 Ответ

2 голосов
/ 13 сентября 2011

В итоге я использовал опцию Model Meta Managed = False, чтобы syncdb игнорировал модель.Затем использовал исходные данные sql , чтобы вручную создать sql для таблицы.Если бы я мог сказать django, что не нужно управлять только многим множеством полей, мне не пришлось бы писать собственный SQL, но это невозможно.

...