2017-02-28 105 views
-3

我有一個模型Idea我要觸發它的生效日期。如何告訴Django自動寫入驗證日期,每次Field狀態更新爲validated價值?如何在django中定義觸發器?

+0

你試過Django的信號時'Field'狀態更新和執行你的功能來更新'validated'價值? –

+0

第一時間發現Django的信號 – user2080105

+0

沒有任何需要的信號,Django的文檔上datefields文件'auto_now'和'auto_now_add'很好 – Sayse

回答

0

@receiver(pre_save, sender=Proposition) 
 
def proposition_update_handler(sender, instance, *args, **kwargs): 
 
    if instance.state=='validée': 
 
     instance.validation_date = datetime.now() 
 
    elif instance.state=='réalisée': 
 
     instance.execution_date = datetime.now() 
 
    elif instance.state=='clôturée': 
 
     instance.closing_date = datetime.now() 
 
    elif instance.state=='rejetée': 
 
     instance.rejection_date = datetime.now()