1
- ===============================================
1
+ =========================================
2
2
Django の以前のコメントシステムからの移行
3
- ===============================================
3
+ =========================================
4
4
5
- :revision-up-to: 17812 (1.4) unfinished
5
+ :revision-up-to: 17812 (1.4) finished
6
6
7
- Django の以前のバージョンには、もう撤廃された、ドキュメント化されていないコ
8
- メントシステムがありました。このフレームワークをリバースエンジニアリングし
9
- て使っていたユーザは 、新たなコメントシステムに移行する必要があります。この
10
- ガイドでは 、コメントシステムの移行方法を解説しています。
7
+ Django の以前のバージョンには、もう撤廃された、ドキュメント化されていない
8
+ コメントシステムがありました。このフレームワークをリバースエンジニアリング
9
+ して使っていたユーザは 、新たなコメントシステムに移行する必要があります。
10
+ このガイドでは 、コメントシステムの移行方法を解説しています。
11
11
12
12
まず、新旧のコメントシステムの違いを示します:
13
13
14
- * 新しいシステムにはドキュメントがあります。
15
-
16
- * 新しいシステムは、 :doc:`forms </topics/forms/index>` や
17
- :doc:`modelforms </topics/forms/modelforms>` のような新しく Django に
18
- 登場した機能を使っています。
14
+ * 新しいシステムにはドキュメントがあります。
19
15
20
- * コメントモデルは以前は ``FreeComment`` と ``Comment`` モデルに分かれ
21
- ていましたが、 ``Comment`` に統合されました。
16
+ * 新しいシステムは、 :doc:`forms </topics/forms/index>` や
17
+ :doc:`modelforms </topics/forms/modelforms>` のような新しく Django に
18
+ 登場した機能を使っています。
22
19
23
- * コメントに "email" および "URL" フィールドが追加されました。
20
+ * コメントモデルは以前は ``FreeComment`` と ``Comment`` モデルに分かれ
21
+ ていましたが、 ``Comment`` に統合されました。
24
22
25
- * レーティング (rating)、写真 (photo)、カルマ (karma) といった機能がな
26
- くなりました。これらは World Online でしか使っていなかったからです。
23
+ * コメントに "email" および "URL" フィールドが追加されました。
27
24
28
- * ``{% comment_form %}`` タグがなくなりました。その代り、新たなコメント
29
- のポストに使うフォームを返す ``{% get_comment_form %}`` と、
30
- ``comments/form.html`` テンプレートを使ってフォームをレンダする
31
- ``{% render_comment_form %}`` の二つのタグが追加されました。
25
+ * レーティング (rating)、写真 (photo)、カルマ (karma) といった機能がな
26
+ くなりました。これらは World Online でしか使っていなかったからです。
32
27
33
- .. * The way comments are include in your URLconf have changed; you'll need to
34
- replace::
35
-
36
- * URLconf へのインクルード方法が変わりました。次のように書いていたところを::
28
+ * ``{% comment_form %}`` タグがなくなりました。その代り、新たなコメント
29
+ のポストに使うフォームを返す ``{% get_comment_form %}`` と、
30
+ ``comments/form.html`` テンプレートを使ってフォームをレンダする
31
+ ``{% render_comment_form %}`` の二つのタグが追加されました。
37
32
38
- (r'^comments/', include('django.contrib.comments.urls.comments')),
39
-
40
- 次のように書き換えてください::
33
+ .. * The way comments are include in your URLconf have changed; you'll need to
34
+ replace::
41
35
42
- (r'^comments/', include('django.contrib.comments.urls')),
36
+ * URLconf へのインクルード方法が変わりました。次のように書いていたところを::
37
+
38
+ (r'^comments/', include('django.contrib.comments.urls.comments')),
39
+
40
+ 次のように書き換えてください::
41
+
42
+ (r'^comments/', include('django.contrib.comments.urls')),
43
43
44
44
データの移行
45
- --------------
45
+ ------------
46
46
47
47
コメントシステムのデータモデルは、新しいモデルで変更され、テーブルの名前も
48
- 代わりました 。既存のデータを新たなコメントシステムに移す前に、
49
- :doc:`クイックスタートガイド </ref/contrib/comments/index>` に従って新たなコ
50
- メントシステムをインストールし 、適切なテーブルを生成しておいてください。
48
+ 変わりました 。既存のデータを新たなコメントシステムに移す前に、
49
+ :doc:`クイックスタートガイド </ref/contrib/comments/index>` に従って新たな
50
+ コメントシステムをインストールし 、適切なテーブルを生成しておいてください。
51
51
52
52
データを新たなコメントシステムに移行するには、以下のような SQL を直接実行し
53
53
てください:
@@ -56,29 +56,29 @@ Django の以前のバージョンには、もう撤廃された、ドキュメ
56
56
57
57
BEGIN;
58
58
59
- INSERT INTO django_comments
59
+ INSERT INTO django_comments
60
60
(content_type_id, object_pk, site_id, user_name, user_email, user_url,
61
61
comment, submit_date, ip_address, is_public, is_removed)
62
62
SELECT
63
63
content_type_id, object_id, site_id, person_name, '', '', comment,
64
64
submit_date, ip_address, is_public, not approved
65
65
FROM comments_freecomment;
66
66
67
- INSERT INTO django_comments
67
+ INSERT INTO django_comments
68
68
(content_type_id, object_pk, site_id, user_id, user_name, user_email,
69
69
user_url, comment, submit_date, ip_address, is_public, is_removed)
70
- SELECT
70
+ SELECT
71
71
content_type_id, object_id, site_id, user_id, '', '', '', comment,
72
72
submit_date, ip_address, is_public, is_removed
73
73
FROM comments_comment;
74
74
75
75
UPDATE django_comments SET user_name = (
76
- SELECT username FROM auth_user
76
+ SELECT username FROM auth_user
77
77
WHERE django_comments.user_id = auth_user.id
78
78
) WHERE django_comments.user_id is not NULL;
79
79
UPDATE django_comments SET user_email = (
80
- SELECT email FROM auth_user
80
+ SELECT email FROM auth_user
81
81
WHERE django_comments.user_id = auth_user.id
82
82
) WHERE django_comments.user_id is not NULL;
83
-
83
+
84
84
COMMIT;
0 commit comments