我正在撰写一个django
网站,其中包含sqlite
数据库,我的网站上有一个模型:
class Foo(models.model):
name = models.Charfield(max_length=30)
数据库为此类创建一个唯一的Id
列,考虑我从类Foo
创建一个对象并删除它并创建另一个对象g
,其{{1}是一样的:
Id
但我不希望数据库为新创建的对象使用旧的已删除对象>> f = Foo.objects.create(name="fooname")
>> f.id
4
>> f.delete()
>> g = Foo.objects.create(name="fooname2")
>> g.id
4
,我该怎么做?
答案 0 :(得分:1)
这是Django 1.7中已知的fixed错误,请参阅:
现在将使用。创建SQLite数据库中的AutoField列 AUTOINCREMENT选项,保证单调增量。这将 导致主键编号行为在SQLite上发生变化,成为 与大多数其他SQL数据库一致。这仅适用于 新创建的表。如果您使用较旧的数据库创建了数据库 Django的版本,您将需要迁移它以利用 这个功能。