转换终端中的错误,无法在Django数据库中添加数据/创建表

2024-09-21 03:18:26 发布

您现在位置:Python中文网/ 问答频道 /正文

更新2-12月13日(仍需帮助)

项目的Github回购:https://github.com/onlyandrewn/gale

根据我对终端的了解,在我尝试./manage.py makemigrations blog和{}之后,它似乎一直在引用以前的迁移

这个问题可能源于我错误地将一个字符串放入一个名为order = models.PositiveSmallIntegerField()的字段中,而该字段本应是一个整数,这可能是一个老错误。现在,我想添加一个名为rank的新字段,我将介绍/管理.pymakemigrations博客和/管理.py迁移博客,但我在终端中不断得到提示:

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

当我运行python时管理.py,我在我的终端上有一长串的东西:

^{pr2}$

在这一长串的文本中,我发现了两件事:

Applying blog.0007_auto_20141212_1622...Traceback (most recent call last):(目前的迁移接近25,#7是一个非常古老的迁移)

django.db.utils.IntegrityError: column order is not unique

Tags: 项目pyhttpsgithubcom终端manage错误
2条回答

运行makemigrationsdjango在字段定义中放入“http://”,创建了一个错误的迁移

检查您的migrations目录,编辑最后一个目录,并从字段定义中手动删除“http://”

编辑:

迁移0007在字段order上创建了一个唯一的constraint,但是您的数据库已经包含了重复项,因此迁移无法成功。在

您有一个完全不一致的情况,因为您的系统正在开发中(即尚未发布),最好删除所有迁移,再次删除db a run makemigrations。在

order = models.PositiveSmallIntegerField()

表示IntegerField不是文本或字符域。在

你给出了"http://"这是字符串。在

将其更改为默认数字,如00000任意值。。在

再次运行迁移

我在想怎么在候机楼里把它处理掉。“-你最好想知道如何解决这个问题,然后它就会离开你的终端

相关问题 更多 >

    热门问题