如何在给定日期之后删除django中的某个模型实例

时间:2016-11-05 18:56:26

标签: python django django-models django-forms django-views

class Mess(models.Model):
     muser = models.OneToOneField(User)
     MESS_NAME = (('GH','girls hostel top mess'),
                ('IH','girls hostel down mess'),
                ('MM','Mega mess'),
                ('FB','First Block mess'),
                ('SB','Second Block mess'),
                ('TB','Third Block mess'),
                )
     mess_name = models.CharField(max_length=25, choices =MESS_NAME,primary_key=True)
     per_day_cost = models.IntegerField()
     def __str__(self):
    return self.mess_name

class MessMenu(models.Model):
    mess_name = models.ForeignKey(Mess)
    day = models.DateField()
    morning = models.TextField()
    afternoon = models.TextField()
    snacks = models.TextField()
    dinner = models.TextField()
    def __str__(self):
        return self.mess_name

一旦我在MessMenu中创建了一个对象,我希望django在7天后删除该对象。请告诉我如何在一段时间后删除某个对象。

2 个答案:

答案 0 :(得分:0)

将creation_date添加到模型中。

如果此模型属于用户:检查用户登录时是否有任何模型过时。

否则,您将在访问模型之前编写一个始终调用的方法。如果可以访问模型,则返回True;如果模型已过时,则返回False。如果返回False则删除它。

或者你写一个看门狗。

答案 1 :(得分:0)

apache.poi.ooxml_3.15

use basic comparison filter过滤日期