Django -为时钟应用程序设置模型的最佳方法?

imzjd6km  于 2023-08-08  发布在  Go
关注(0)|答案(1)|浏览(92)

我正在Django中开发一个员工时钟应用程序,主要是作为一个测试项目。我是一个新手,我不知道如何最好地设置模型等。
我可以创建clockin和clockout模型,并将用户作为外键引用。然而,我不确定计算一天中多个打卡和下班事件之间的时间的最佳方法。
有什么办法能最有效地处理这件事吗?
谢谢你的任何建议。

n9vozmp4

n9vozmp41#

模型结构取决于您要添加到应用的功能。它可以是不同的模式办理入住和退房,正如你提到的,它可以是这样的独奏模式:

class WorkVisit(models.Model):
    worker = models.ForeginKey(User, ....)
    check_in = models.DateTimeField(null=True)
    check_out = models.DateTimeField(null=True)

字符串
如果你想计算差异,你可以这样做:

difference = worker.check_in - worker.check_out


可以将其设置为模型属性:

class WorkVisit(models.Model):
    worker = models.ForeginKey(User, ....)
    check_in = models.DateTimeField(null=True)
    check_out = models.DateTimeField(null=True)

    @property
    def visit_duration(self):
        if not self.check_in or not self.check_out:
            return None
        return self.check_out - self.check_in

相关问题