Django未创建数据库表
嘿,
我已经创建了一个数据库。现在我更新了用户资料:
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)
2 个回答
5
你有没有把你的应用程序添加到settings.py文件中的INSTALLED_APPS里呢?
settings.py
INSTALLED_APPS = (
... ,
'my_app',
)
https://docs.djangoproject.com/en/dev/ref/settings/?from=olddocs#installed-apps
6
manage.py syncdb
这个命令不会改变已经存在的表格,也就是说它不会添加或删除字段。如果你想修改数据库,你要么手动去改,要么可以使用像 South 这样的工具来自动处理数据库的迁移(我非常推荐这种方法)。