1

我有一个使用Django 评论应用程序的 Django 1.4 站点。我正在将我的开发版本升级到 Django 1.5 并扩展 User 模型- 我有一个Person可以扩展的模型AbstractBaseUser,并且AUTH_PROFILE_MODULE = 'membership.Person'在我的设置中。

目前django_commentspostgresql 数据库表有一列user_id引用auth_user(id)

"django_comments_user_id_fkey" FOREIGN KEY (user_id) REFERENCES auth_user(id) DEFERRABLE INITIALLY DEFERRED

该列中没有任何内容,因为到目前为止,除了我自己的管理员用户之外,系统中没有用户帐户。我想我需要更新表格以引用我的新Person模型(存储在membership_person表格中)。将来,用户将能够创建帐户并发表登录评论。

我应该使用什么ALTER TABLE命令来更改django_comments以引用我的新Person模型?我将不得不做类似的django_comment_flags表。还有什么我需要注意的吗?

4

1 回答 1

1

我最终为评论表做了这个:

ALTER TABLE django_comments DROP CONSTRAINT django_comments_user_id_fkey;
ALTER TABLE django_comments ADD CONSTRAINT django_comments_user_id_fkey FOREIGN KEY (user_id) REFERENCES membership_person(id) DEFERRABLE INITIALLY DEFERRED;

与评论标志表类似:

ALTER TABLE django_comment_flags DROP CONSTRAINT django_comment_flags_user_id_fkey;
ALTER TABLE django_comment_flags ADD CONSTRAINT django_comment_flags_user_id_fkey FOREIGN KEY (user_id) REFERENCES membership_person(id) DEFERRABLE INITIALLY DEFERRED;

希望这可以完成工作并且不会引起任何问题。*交叉手指*

于 2013-01-18T11:39:59.420 回答