我正在写一个带有sqlite数据库的django网站,我在我的网站上有一个模型:
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question_text
def was_published_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
假设我创建了Question对象“What is up”并将其删除,现在创建另一个Question对象“HI”,然后“Hi”将获得id 2而不是1.但我希望它只有1。这可能吗? 我使用django 1.8.7并且无法更改版本,因为整个数据库是用django 1.8.7编写的。
>> f = Question(question_text="What's up",pub_date=timezone.now())
>> f.id
1
>> f.delete()
>> g = Question(question_text="Hi",pub_date=timezone.now())
>> g.id
2
任何帮助将不胜感激。谢谢提前
答案 0 :(得分:0)
你可以做这样的事情
class Question(models.Model):
id = models.IntegerField(primary_key=True)
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
覆盖保存并检查表中的最后一个可用ID和incerment by并分配给id。 虽然我不建议甚至在开发中这样做,但看到很多代码只适用于dev,只是因为有人忘了删除它