如何创建一个DateField,它会以 pk 字段的方式自动递增1天?
例如,我会创建一个新对象,这将是2017年4月16日,下一个对象将是2017年4月17日,即使它们都是在同一天提交的。
我该怎么做?
答案 0 :(得分:1)
如何覆盖模型' std::string outer::name = "bla";
方法,如下所示:
save
当然,上面的内容可以使用Django signals来实现。 pre_save
一个。
答案 1 :(得分:0)
所以我使用Nik_m's回答的部分内容以及我的一些知识来解决这个问题。
我基本上创建了一个while循环,它继续迭代并添加一天,而不是Nik_m的答案,由于缺少迭代,它在第三个对象之后不起作用。
def save(self, *args, **kwargs):
same_date_obj = Challenge.objects.filter(date=self.date)
if same_date_obj.exists():
while True:
if Challenge.objects.filter(date=self.date).exists():
self.date += timedelta(days=1)
else:
break
super().save(*args, **kwargs)
编辑:这个答案不再有效,它需要一个while循环,因此需要无限量的查询。 @ Nik_m修改后的答案更好。