1

我们已经使用 Django CMS 为客户创建了一个站点,并且即将发布。他们的旧网站上有许多指向文件的链接。对表格进行搜索cmsplugin_text,我找到了 12 个包含 URL 的条目。没有从旧下载 URL 到新文件下载 URL 的简单映射,因此我需要找到这 12 个条目出现的页面并告诉我们的客户以便他们可以编辑该页面。

但是数据库不容易跟上。那么如何从cmsplugin_ptr_id列的cmsplugin_text列的值到页面的URL呢?我相当确定cmsplugin_ptr_id是为了与id桌子cms_cmsplugin对齐。那张桌子也有parent_id,tree_idplaceholder_id,但我现在有点迷路了。

我很乐意直接使用数据库命令,或者用来manage.py shell执行此操作。

4

1 回答 1

1

在回答之前应该更努力一点。

有效的步骤是查找cms_page_placeholder带有 的行placeholder_id并查找相应的page_id. 然后,我可以在http://mysite.com/en/admin/cms/page/page_id的管理员中查找该页面,并且该页面具有“查看站点链接”。

我使用的 SQL 语句是:

SELECT cpp.page_id 
    FROM cmsplugin_text AS cpt 
    LEFT JOIN cms_cmsplugin AS ccp ON cpt.cmsplugin_ptr_id = ccp.id 
    LEFT JOIN cms_page_placeholders AS cpp ON ccp.placeholder_id = cpp.placeholder_id  
    WHERE cpt.body like '%userfiles%';

userfiles旧站点上文件路径的一部分在哪里。

于 2012-05-28T16:48:31.780 回答