Django:在特定时间开始时重置模型字段值(例如,日终、月初等)

2024-06-28 20:03:35 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个模特儿,他有一些钱(从0开始):

#myapp/models.py
from decimal import Decimal

class Person(models.Model):
    name = models.CharField(max_length=255)
    money = models.DecimalField(max_num=6, decimal_places=2, default=Decimal('0.00'))

用户可以在一天中收集资金:

person = Person.objects.create(name="Jeff")
person.money += 100
print(person.money) # 100.00

但在一天结束时,数字应该自动回到零:

# At 12:00 AM the next day 
>>> person = Person.objects.get(name="Jeff")
>>> person.money = 0.00

或者说,在月初,此人将自动获得100美元(而不是重置)

# At 12:00 AM on first day of month
>>> person = Person.objects.get(name="Jeff")
>>> person.money # 200.00

在Django模型上,您将如何执行此操作


Tags: namegetobjectsmodelsammaxatperson