0

我创建了一个 UserProfile 字段,以便将收藏夹功能添加到我的站点。使用 Django 的推荐,我在底部创建了一个 UserProfile 模型,如下所示

不幸的是,我已经创建了数据库的其余部分,因此我需要使用迁移实用程序或手动编辑我的数据库。但是,我没有足够的权限来使用迁移实用程序,所以我必须直接编辑数据库,并且正在努力这样做。

这个答案类似于我想要完成的,但我不能完全让语法在我的情况下工作。 MySQL - 一对一的关系?

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)
    favorites = models.ManyToManyField(Media, related_name='favorited_by')
4

2 回答 2

0

根据我的经验,最好的迁移工具是South。安装并将其添加到设置后,您需要使用为现有模块创建初始迁移

./manage.py schemamigration --initial my_module,

这将包括包含您的UserProfile模型的那个,然后您可以从那里迁移使用

manage.py migrate my_module.

使用这样的实用程序的真正力量是便携性和可逆性。您可以根据需要向前和向后迁移,并且您将能够将您的模式带到几乎任何 SQL 数据库,而无需直接使用 SQL 进行重建。

于 2013-06-17T23:31:48.970 回答
0

我当然同意 Steves 使用 South 的建议。但是,如果您出于某种原因不想这样做,则可以发出以下命令:

python manage.py sql <appname>

这将输出 django 将用于创建表的 SQL 语句。然后可以使用它来手动修改数据库。

于 2013-06-17T23:39:54.667 回答