Python 如何从项目中消除鬼魂模型?

Python 如何从项目中消除鬼魂模型?,python,django,django-models,django-orm,Python,Django,Django Models,Django Orm,我有一个模型叫Media;此后更名为“PetImage”,并进一步修订。现在ack在我的Python源文件、.pyc文件、模板或SQLite3数据库中都找不到字符串“Media”。从重新检查源代码(并重新启动Gunicorn)可以看出,字符串“Media”不应该出现在我的项目中的任何地方,例如,除了CKeditor根目录下的内容。我还进行并执行了迁移 但我仍然感到——Django在报道“媒体”加载失败时出错了: 我该怎么做才能使Django不希望“module”对象(我想是my models.p

我有一个模型叫
Media
;此后更名为“PetImage”,并进一步修订。现在ack在我的Python源文件、.pyc文件、模板或SQLite3数据库中都找不到字符串“Media”。从重新检查源代码(并重新启动Gunicorn)可以看出,字符串“Media”不应该出现在我的项目中的任何地方,例如,除了CKeditor根目录下的内容。我还进行并执行了迁移

但我仍然感到——Django在报道“媒体”加载失败时出错了:

我该怎么做才能使Django不希望“module”对象(我想是my models.py)提供
媒体

似乎收到投诉的功能是第四行,带有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文件中都找不到字符串“Media”

我认为这不会在
.pyc
文件中罚款。你试过删除所有的吗?如果经常出现这种情况,您可以在版本控制设置中的后期合并挂钩中设置或执行递归删除

ack在任何Python源文件、.pyc文件中都找不到字符串“Media”


我认为这不会在
.pyc
文件中罚款。你试过删除所有的吗?如果经常出现这种情况,您可以在版本控制设置中的合并后挂钩中设置或执行递归删除。

如果可以,我建议您删除所有模型的表(直接在数据库中),进入django.migrations表并删除与您的应用程序相关的任何内容,然后删除应用程序的migrations文件夹并执行干净的迁移。这种事情在我的应用程序开发过程中发生了很多次,我不得不多次执行此过程如果可以的话,我建议您删除所有模型的表(直接在数据库中),进入django.migrations表并删除与应用程序相关的任何内容,然后删除应用程序的migrations文件夹并执行干净的迁移。在我的应用程序开发过程中,这种事情发生了很多次,我不得不多次执行这个过程
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,
        })