【发布时间】:2018-03-05 14:29:51
【问题描述】:
我知道有很多关于这个问题的问题,我查看了解决方案,但不幸的是,没有一个对我有用。
我创建了一个名为“usermanagement”的新应用,并向该应用添加了一个模型。添加模型后,我在设置中将用户管理添加到 INSTALLED_APPS。然后我运行了 python manage.py makemigrations 和 python manage.py migrate。这一切都很好!我也尝试过使用 app-name 运行迁移。
当我尝试将模型的新实例添加到 Python-Django shell 中的数据库时,问题就开始了:
>>>a = ClubOfficial(name="randomName", email="randomemail@random.com")
>>>a.save()
我收到以下错误:
django.db.utils.ProgrammingError: 关系 “usermanagement_clubofficial”不存在 LINE 1: INSERT INTO "usermanagement_clubofficial" ("name", "email") ...
以下是型号代码:
class ClubOfficial(models.Model):
name = models.CharField(max_length=254)
email = models.EmailField(max_length=254)
如果有帮助,我使用 postgresql,并尝试重新启动服务器。该程序中的其他应用程序也可以正常工作,只是 usermanagemenet 有这个问题。
有谁知道可能出了什么问题?
感谢您的宝贵时间!
注意:我现在用不同的名称创建了一个新应用,从用户管理中复制粘贴了一些内容,一切正常。我认为问题可能是在有一个名为 usermanagement 的应用程序被删除之前,在我再次创建它之前。也许这以某种方式弄乱了数据库。
【问题讨论】:
-
您是否使用应用名称运行
makemigrations? -
ok,模型
ClubOfficial存放在哪个文件中? -
抱歉这些愚蠢的问题。您是否已经检查了迁移文件夹中的最后一个文件?
-
查看内部
0001_initial,看到ClubOfficial的型号了吗? -
@user3257736
python manage.py showmigrations的结果是什么?您的应用程序的 0001_initial 之前是否有刻度?