Удаленные модели все еще отображаются как выбор ContentType в Django?
-
13-12-2019 - |
Вопрос
Я ограничиваю выбор ContentType для общего отношения с использованием limit_choices_to
, но он показывает модели, которые больше не существуют. Например, с этим кодом:
employer_content_type = models.ForeignKey(ContentType,
limit_choices_to={"model__in": ('venue', 'festival')}, related_name="employer")
.
Я получаю список вариантов, которые имеют дубликаты, I.E. Фестиваль, фестиваль, место, место, место, проведение
Однако, когда я ограничиваю выбор приложении, а не только такие модели:
employer_content_type = models.ForeignKey(ContentType,
limit_choices_to={'app_label': 'contacts'}, related_name="employer")
.
Я получаю список всех моделей без дубликатов, i.e. Адрес, электронная почта, фестиваль, проведение
В какой-то момент в моей разработке я создал новое приложение («контакты»), которое было дублируем старого приложения. Все модели имели одни и те же имена и т. Д. Сначала я подумал, что это вызывает дубликаты, но проблема не уходила после удаления старого приложения из Settings.py и удалила старые модели образуют базу данных.
Я думаю, что это проблема кэша, но я никогда не устанавливаю кэширование!
Так как мне либо очистить кеш, либо ограничить выбор моделью и приложение одновременно.
Спасибо за вашу помощь!
Решение
Ищите contentypes_contentype таблицу db и удалить устаревшие модели там.SyncDB также должен предложить удалить устаревшие модели из таблицы типа содержимого.