为什么Django将我所有型号的pk设置为';90';?

为什么Django将我所有型号的pk设置为';90';?,django,sqlite,Django,Sqlite,我正在用SQLite运行Django 1.5,我有一个名为Assignment的模型。无论何时创建一个,它都会使用正确的pk值创建。但是,每当我试图从我的数据库中检索任何作业,它总是以90的主键返回。我已经为此奋斗了一个小时,我不得不承认我完全糊涂了 这是我的代码,如果有用的话 class Assignment(models.Model): class Meta: app_label = 'holiday' unique_together = ('year

我正在用SQLite运行Django 1.5,我有一个名为
Assignment
的模型。无论何时创建一个,它都会使用正确的
pk
值创建。但是,每当我试图从我的数据库中检索任何
作业
,它总是以
90
的主键返回。我已经为此奋斗了一个小时,我不得不承认我完全糊涂了

这是我的代码,如果有用的话

class Assignment(models.Model):
    class Meta:
        app_label = 'holiday'
        unique_together = ('year', 'employee')

    year = models.PositiveIntegerField(db_index=True)
    employee = models.ForeignKey('bsc.Employee', db_index=True)
    days = models.PositiveIntegerField(null=True)
还有一系列方法,这些方法基于与此相关的模型计算一些值。没什么特别的


我必须补充一点,这种模式有一段不太顺利的过去——尽管我心不在焉,我最初还是将
年份
设置为主键,当我为不同的员工添加了两个
任务
时,很快就失败了。也许我应该看看数据库模式,看看是否有什么问题。谢天谢地,该应用程序尚未投入生产,但希望在不完全重置数据库的情况下可以修复此问题。

如果您以前创建了90条记录,则从数据库中删除这些行;数据库密钥索引仍将设置为数据库中的下一个主键号

解决此问题的方法是,如其他stackoverflow帖子所述:

您必须显示您的模型定义。它是否仅在
assignment
中发生,还是在所有模型中也发生。到目前为止,查看一些相关代码或您的方法会很有用。Mmm-hmmm。。。。我最终手动删除并重新创建了我的应用程序的表,因为South也在作恶。