如何启用管理操作或一年只运行一次?

时间:2018-02-20 12:26:03

标签: python django django-admin

我需要启用管理操作,或者每年只运行一次这是可能的 这是行动:

def update_vacations(modeladmin, request, queryset):
    for item in queryset:
        item.calculconge = item.calculVacation + item.VacationDays
        item.save()

update_vacations.short_description = "Update Vacations"

2 个答案:

答案 0 :(得分:0)

所以你需要保存这些信息。没有其他办法了。作为该模型上的字段或仅包含此信息的新字段。

例如。

orglist = orglist.Where(o =>
        o.AgeGroupCollection.Any(l => model.selectedAges.Contains(l.AgeGroupID)));

并在你的信号中

class VacationEdit(models.Model):
    user = models.ForeignKey(...)
    edited_year = models.IntegerField()

但我实际上会建议在新的日子里编辑旧的假期数据,但要制作某种YearlyVacation模型并且每年只有一个条目,每年只添加一个新的并保存旧的数据

答案 1 :(得分:0)

您可以将日期输出到文件,以及当该人尝试执行命令时,从文件中读取日期并将其与当前日期进行比较。