我正在使用以下方法限制泛型关系的ContentType选择 limit_choices_to 但它显示了不再存在的模型。例如,使用此代码:

 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")

我得到一个没有重复的所有模型的列表,即地址、电邮、节日、地点

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

我认为这是一个缓存问题,但我从来没有设置缓存!

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

谢谢你的帮助!

注: 不幸的是,我不能添加图片,所以有点难以描述!

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top