删除的模型仍然显示为Django中的ContentType选项?

时间:2012-10-03 20:11:56

标签: django caching contenttype

我使用limit_choices_to限制了通用关系的ContentType选项,但它显示了不再存在的模型。例如,使用此代码:

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

我得到了一份重复的选项列表,即节日,节日,场地,场地

然而,当我通过app限制选择而不是像这样的模型时:

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

我得到了所有没有重复的模型的列表,即地址,电子邮件,节日,场地

在我开发的某个阶段,我创建了一个新应用程序(“联系人”),它是旧应用程序的副本。所有的模型都有相同的名称等。起初我认为这导致了重复,但是我从settings.py中删除了旧的应用程序并从数据库中删除了旧模型后问题没有消失。

我认为这是一个缓存问题,但我从未设置过缓存!

那么如何清除缓存,或者同时限制模型和应用程序的选择。

感谢您的帮助!

注意:很遗憾,我无法添加图片,因此有点难以描述!

1 个答案:

答案 0 :(得分:0)

查找contentypes_contentype db表并删除那里的过时模型。 syncdb还应提示您从内容类型表中删除过时的模型。