【发布时间】:2013-06-13 10:26:33
【问题描述】:
我是 Django 新手。我有两个模型,Model A 和一个新的 Model B
class A:
firstname=models.CharField(max_length=20,blank=True,null=True)
email = models.EmailField(max_length=30,blank=True,null=True)
我必须将所有数据从 A 迁移到 B,以便 模型 A 中条目的主键与模型 B 中的主键相同。即
b.id = a.id 其中 a 和 b 分别是 A 和 B 的实例。
但在此之后,当我 保存一个新实例时,生成的 id 为 5L、6L 等。而不是增加创建的最后一个对象的主键。有没有什么办法解决这一问题 ?? 我正在使用 django 1.3 和 postgresql 9.2。
【问题讨论】:
-
为什么不用sql把数据从A表转储到B表。
-
您需要在数据库中通过设置相关序列来执行此操作。我对 Postgres 了解不多,无法给出正确答案,但它会在文档中(postgresql.org/docs/9.2/static/sql-altersequence.html 看起来很有希望)。
-
@Daniel Roseman:谢谢。它是在我的 db shell 中完成的。
-
@AnshJ :我不是 sql 专家,所以不知道如何通过上述技术实现。
标签: django django-models primary-key postgresql-9.2