【问题标题】:Django starting id with a specific number?Django以特定数字开头的ID?
【发布时间】:2019-10-06 14:22:20
【问题描述】:

我想开始使用具有特定 ID 的应用程序,但当我迁移时出现错误,提示我 dont have permission or does not exist。好吧,我已经是db_owner,所以当我在迁移中执行ALTER SEQUENCE 时,可能会出现错误。

我的项目

myproject/
     |-- myproject
     |-- dpo/
         |-- projeto/
            |-- models.py

项目模型.py

class Projeto(models.Model):
  ..........

所以我做python manage.py makemigrations dpo --empty 然后我去归档并在opererations 添加:migrations.RunSQL('ALTER SEQUENCE dpo_projeto_Projeto_id RESTART WITH 7000;') 我有这个错误Cannot alter the sequence 'dpo_projeto_Projeto_id', because it does not exist or you do not have permission.

【问题讨论】:

  • 好吧不是重复的,因为我试过了,但它不起作用
  • 然后登录您的数据库控制台并在您的模型上运行 SQL 语句
  • 已经尝试过了,我正在创建一个新项目我有这个错误'Manager' object has no attribute 'create_projeto'
  • 你如何尝试创建

标签: django django-models django-database


【解决方案1】:

你可以关注这个answer

如果这不起作用,请按照以下步骤操作

>>> u = Projeto.objects.create()
>>> Projeto.objects.filter(pk=u.pk).update(id=10000)

create 方法中,您可能需要传递具有这样值的模型必填字段

Projeto.objects.create(name='Test Project')

【讨论】:

  • 我只需要输入name='Test Project' 或者我需要在我的所有必填字段中都这样做?
  • 因为我有很多必填字段,我直接在数据库中创建了u = Projeto.objects.filter(id=1),但是当我执行Projeto.objects.filter(pk=u.pk).update(id=10000) 时,它给出了错误'QuerySet' object has no attribute 'pk',所以我做了Projeto.objects.filter(pk=u[0].pk).update(id=10000),我有另一个错误]Cannot update identity column 'id'.
  • 我已经清空了数据库,只有1个id,值为1
  • 更改主键值的起始位置
  • 我该如何改变?
猜你喜欢
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 2013-02-02
  • 2017-08-08
  • 2019-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多