如果数据在今天为用户保存,如何停止保存数据
How to stop save -data if the data is saved within today for a user
class RequestPop(models.Model):
request_pop = models.PositiveIntegerField(default=0)
user = models.ForeignKey(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE,unique=False,null=True)
created_at = models.DateTimeField(auto_now_add=True)
available_pop = models.PositiveIntegerField(default=0)
def __str__(self):
return "{}-{}".format(self.user,self.request_pop)
def save(self, *args, **kwargs):
if self.user:
old_obj = RequestPop.objects.filter(user=self.user).filter(created_at = datetime.today).last()
if not old_obj:
super(RequestPop, self).save(*args, **kwargs)
但是我的代码不起作用。今天已存数据,如何停止存数据
我会做类似的事情:
class RequestPop(models.Model):
request_pop = models.PositiveIntegerField(default=0)
user = models.ForeignKey(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE, unique=False, null=True)
created_at = models.DateTimeField(auto_now_add=True)
available_pop = models.PositiveIntegerField(default=0)
def __str__(self):
return "{}-{}".format(self.user, self.request_pop)
def save(self, *args, **kwargs):
if self.user:
now = timezone.datetime.now()
today_midnight = timezone.datetime(day=now.day, month=now.month, year=now.year)
old_obj = RequestPop.objects.filter(user=self.user).filter(created_at__gte=today_midnight).last()
if not old_obj:
super(RequestPop, self).save(*args, **kwargs)
你可以简单地这样做:
RequestPop.objects.filter(user=self.user).filter(created_at__lte = datetime.today()).last()
class RequestPop(models.Model):
request_pop = models.PositiveIntegerField(default=0)
user = models.ForeignKey(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE,unique=False,null=True)
created_at = models.DateTimeField(auto_now_add=True)
available_pop = models.PositiveIntegerField(default=0)
def __str__(self):
return "{}-{}".format(self.user,self.request_pop)
def save(self, *args, **kwargs):
if self.user:
old_obj = RequestPop.objects.filter(user=self.user).filter(created_at = datetime.today).last()
if not old_obj:
super(RequestPop, self).save(*args, **kwargs)
但是我的代码不起作用。今天已存数据,如何停止存数据
我会做类似的事情:
class RequestPop(models.Model):
request_pop = models.PositiveIntegerField(default=0)
user = models.ForeignKey(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE, unique=False, null=True)
created_at = models.DateTimeField(auto_now_add=True)
available_pop = models.PositiveIntegerField(default=0)
def __str__(self):
return "{}-{}".format(self.user, self.request_pop)
def save(self, *args, **kwargs):
if self.user:
now = timezone.datetime.now()
today_midnight = timezone.datetime(day=now.day, month=now.month, year=now.year)
old_obj = RequestPop.objects.filter(user=self.user).filter(created_at__gte=today_midnight).last()
if not old_obj:
super(RequestPop, self).save(*args, **kwargs)
你可以简单地这样做:
RequestPop.objects.filter(user=self.user).filter(created_at__lte = datetime.today()).last()