代码之家  ›  专栏  ›  技术社区  ›  kow

在django中设置超时函数

  •  1
  • kow  · 技术社区  · 17 年前

    1 回复  |  直到 17 年前
        1
  •  4
  •   Tom Leys    17 年前

    将布尔值更改为“锁定时间”

    1. 要解锁模型,请将锁定时间设置为“无”
    2. 添加一个“is_lock”方法。如果当前时间超过锁定时间10分钟,则该方法返回“未锁定”。

    这 模型已锁定。克朗可能需要检查 模型。

    from django.db import models
    from datetime import datetime, timedelta
    # Create your models here.
    class yourTextLineGroup(models.Model):
        # fields go here    
        lock_time = models.DateTimeField(null=True)
        locked_by = models.ForeignKey()#Point me to your user model
    
        def lock(self):
            if self.is_locked(): #and code here to see if current user is not locked_by user
                #exception / bad return value here
                pass
    
            self.lock_time = datetime.now()
    
        def unlock(self):
            self.lock_time = None
    
        def is_locked(self):
            return self.lock_time and datetime.now() - self.lock_time < timedelta(minutes=10)