【发布时间】:2021-07-28 13:44:12
【问题描述】:
# modaly.py
class User(modals.Modal): name = models.CharField(max_length=30)
class Traffic(models.Model): my_user = models.ForeignKey(User, on_delete=models.CASCADE) per_day_user_visit = models.PositiveIntegerField(null=True, blank=True) traffic_date = models.DateField(auto_created=True)
| id | my_user | per_day_user_visit | traffic_date |
|---|---|---|---|
| 1 | instance | 500 user_visit | monday |
| 2 | instance | 512 user_visit | tuesday |
# views.py
# Auto created a new row, when new day come
if newday:
Traffic.objects.create(my_user = "1", per_day_user_visit = "512", date=datetime.now())
【问题讨论】:
-
你可以为它创建一个 celery 任务,每天用 celerybeat 运行一次。
-
这不是你会在 django 中做的事情,因为这是一个预定的工作。最好由作业调度程序完成。 Mysql 有一个使用 create 事件的内置程序,您可以使用操作系统附带的任何调度程序(例如 cron 或 windows 任务调度程序),或者您可以使用基于 pyton 的调度程序,例如 celery。您选择哪一种取决于您的具体要求。
标签: python mysql django django-models