嘿 我已经创建了一个数据库。现在我用UserProfile更新了:
class UserProfile(models.Model):
user = models.ForeignKey(User, unique = True, related_name = 'user')
follows = models.ManyToManyField("self", related_name = 'follows') <-- NEW LINE
所以python manage.py sqlall myapp
让我回复:
[...]
CREATE TABLE "myapp_userprofile_follows" (
"id" integer NOT NULL PRIMARY KEY,
"from_userprofile_id" integer NOT NULL,
"to_userprofile_id" integer NOT NULL,
UNIQUE ("from_userprofile_id", "to_userprofile_id")
)
[...]
当我运行python manage.py syncdb
时:
Creating tables ...
Installing custom SQL ...
Installing indexes ...
No fixtures found.
但是当我尝试将数据插入时,不会创建表。为什么? (我在本地测试,使用sqlite3)
答案 0 :(得分:6)
manage.py syncdb
不会修改现有表来添加或删除字段。您需要手动修改数据库,或者使用South之类的工具来创建自动数据库迁移(我强烈建议这样做)
答案 1 :(得分:5)
您是否已将您的应用添加到settings.pys中的INSTALLED_APPS:
<强> settings.py 强>
INSTALLED_APPS = (
... ,
'my_app',
)
https://docs.djangoproject.com/en/dev/ref/settings/?from=olddocs#installed-apps