如何从项目中驱除鬼模型?
问题描述:
我有一个叫做Media
的模型;它从此改名为“PetImage”并进一步修改。现在ack在我的任何Python源文件,.pyc文件,我的模板或我的SQLite3数据库中都找不到字符串“Media”。据我重新检查信息源(并重新启动Gunicorn)我可以看出,字符串“Media”不应该在我的项目中的任何地方找到,除了例如。根据CKeditor的根源。我也制作并执行了迁移。如何从项目中驱除鬼模型?
但我仍然得到http://dpaste.com/0FX74SJ - Django是示数出在报告的故障载入“媒体”:
Exception Value: 'module' object has no attribute 'Media'
我能做些什么,这样Django不指望“模块”对象(我的models.py,我认为)提供一个Media
?
,似乎越来越投诉是第四行,用函数for循环中:
def one_pet(request, pet_id):
pet = models.Pet.objects.get(id = pet_id)
media = []
for item in models.PetImage.objects.all():
if item.url.startswith('https://youtu.be/'):
media.append('')
else:
media.append('')
return render(request, 'one_pet.html', {
'pet': pet,
'site_name': settings.SITE_NAME,
})
是否有额外的簿记模型是否改名呢?如果我想将我的PetImage
作为Media
的继承者,并且所有进一步的活动都针对PetImage
,我应该怎么做?
感谢,
答
ACK没有找到任何我的Python源文件中的字符串“媒体”,pyc文件
我不认为它会罚他们在.pyc
文件。你有没有试过删除所有pyc
files in the directory?如果出现这种情况,您可以设置PYTHONDONTWRITEBYTECODE
environment variable或在版本控制设置中的合并后钩子中执行递归删除。
如果可以,我建议您将所有模型的表格(直接放入数据库),进入django.migrations表格并删除与您的应用程序相关的任何内容,然后删除应用程序的migrations文件夹并执行干净的迁移。这种事情在我的应用程序开发过程中发生过很多次,我不得不多次执行此过程 – Mojimi