我目前有一个托管应用程序并拥有用户数据库的网站。现在我想将两者连接起来,这样应用程序就可以拥有作者(即用户)
更新:下面添加了更多相关细节,我正在使用 django-registration。
在此以及 Django 文档之后,我首先将这author
一行添加到我的应用程序模型中:
from django.contrib.auth.models import User
class App(models.Model):
name = models.CharField(max_length=200)
...
author = models.ForeignKey(User)
但是,当我从 django admin 访问我的应用程序时,我在 /admin/apps/app/ 处收到错误 DatabaseError ...没有这样的列:apps_app.author_id
显然,我需要为这个功能做更多的步骤,但我很好奇为什么这个简单的添加会引发错误。
我正在使用 South 进行迁移并运行
./manage.py schemamigration apps --auto
对于一次性值,我将其设置为“零”,因为它期望int()
./manage.py migrate apps
这没有用,所以我做了
./manage.py migrate apps --fake
然后再上一个命令,没有--fake。
另外,根据链接的 SO 问题,我是否也应该class User(User)
在 apps/models.py 中创建?
更新 2我刚刚创建了一个新的 django 应用程序(.manage.py startapp...
不要与我的“应用程序”对象混淆)。我完成了创建添加此外键的步骤,并且效果很好。我唯一的结论是,这一定是南迁移问题,实际上我的代码没有任何问题。