首页 > 解决方案 > 如何破坏动态模型?

问题描述

我正在寻找一种动态销毁(删除)动态模型的方法。我正在通过类型运算符创建一个模型。一切都很完美。当我删除一个模型时,我会执行以下一系列操作:

  1. 我通过调用获得模型:model = apps.get_model(app_label, name)

  2. registry从管理站点注销模型

  3. 从数据库中删除模型:(schema_editor.delete_model(model)成功)

  4. 删除模型:(del model自己的模型工厂)

  5. 清除应用程序缓存:apps.clear_cache()

  6. 清除ContentType

  7. 清除管理站点的缓存:

    reload (import_module (settings.ROOT_URLCONF))

    clear_url_caches ()

但是,在所有这些动作之后,模型出人意料地留在了记忆中。例如,这可以在管理站点上的嵌套表单中看到。引用它当然会导致错误,因为此时对应的表不再存在。

如果我重新启动服务器,模型就会消失,因为模型工厂中没有条目。我不应该每次都重新启动服务器。

难道我做错了什么?

标签: djangodjango-models

解决方案


推荐阅读