1

Django CMSを使用してクライアント用のサイトを作成し、リリース日が近づいています。古いサイトにはファイルへのリンクがいくつかあります。テーブルを検索するとcmsplugin_text、URLを含む12個のエントリが見つかりました。古いダウンロードURLから新しいファイルダウンロードURLへの単純なマッピングはないため、これらの12エントリが表示されるページを見つけて、ページを編集できるようにクライアントに通知する必要があります。

しかし、データベースを追跡するのは簡単ではありません。cmsplugin_ptr_idでは、列の列の値からcmsplugin_textページのURLに移動するにはどうすればよいですか?私は、がテーブルcmsplugin_ptr_idのと一致することを意図しているとかなり確信しています。そのテーブルにも、、がありますが、この時点で少し迷っています。idcms_cmspluginparent_idtree_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 に答える