我使用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中删除了旧的应用程序并从数据库中删除了旧模型后问题没有消失。
我认为这是一个缓存问题,但我从未设置过缓存!
那么如何清除缓存,或者同时限制模型和应用程序的选择。
感谢您的帮助!
注意:很遗憾,我无法添加图片,因此有点难以描述!
答案 0 :(得分:0)
查找contentypes_contentype db表并删除那里的过时模型。 syncdb还应提示您从内容类型表中删除过时的模型。