2012-10-03 51 views
0

我使用limit_choices_to限制通用關係的ContentType選項,但它顯示不再存在的模型。例如,此代碼:刪除的模型仍然顯示爲Django中的ContentType選項?

employer_content_type = models.ForeignKey(ContentType, 
    limit_choices_to={"model__in": ('venue', 'festival')}, related_name="employer") 

我得到的選項列表有重複,即節日,節日,場地,場地

然而,當我限制由應用程序的選擇,而並非只是模型是這樣的:

employer_content_type = models.ForeignKey(ContentType, 
      limit_choices_to={'app_label': 'contacts'}, related_name="employer") 

我得到的所有車型的列表,沒有重複,即地址,電子郵件,節日,場地

在我開發一個點上我創建了一個NE w應用程序(「聯繫人」),這是舊應用程序的副本。所有的模型都有相同的名稱等。起初我以爲這是造成重複,但問題並沒有消失後,我從settings.py中刪除舊的應用程序,並從數據庫中刪除舊的模型。

我認爲這是一個緩存問題,但我從來沒有設置緩存!

那麼我該如何清除緩存,或者同時限制模型和應用的選擇。

感謝您的幫助!

注:不幸的是我不能添加圖片,所以它有點難以形容!

+0

看起來你的'django_contenttype'表仍然包含不存在的模型。嘗試執行'manage.py syncdb --all'。也許它會讓你去除陳舊的模型。但我不確定 –

回答

0

查找contentypes_contentype db表並刪除那裏的廢棄模型。 syncdb還應提示您從內容類型表中刪除過時的模型。

相關問題