2016-11-05 82 views
0
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天后刪除該對象。請讓我知道如何在給定的時間段後刪除某個對象。如何刪除特定日期後django中的某個模型實例

+0

你需要寫檢查的是7天前的代碼,然後刪除它們......然後你需要一種方法來調用代碼。 – Sayse

+0

你能否詳述@Sayse – yogs

回答

0

將creation_date添加到您的模型中。

如果這種模式屬於用戶:檢查時

用戶登錄,否則你寫你訪問模型之前,你總是調用一個方法的任何車型都已經過時。如果您可以訪問模型,則返回True,如果已過時,則返回False。如果它返回False,則刪除它。

或者你寫一個看門狗。

0
menudeleted = MessMenu.objects.filter(day__lt = timezone.now()) 
    for m in menudeleted: 
     m.delete() 
menu = MessMenu.objects.all() 

use basic comparison filter過濾日期

相關問題