簡體   English   中英

使用Django后處理考勤數據

[英]Post processing attendance data with Django

我有一個網絡應用程序,它試圖確定人們何時參加活動。

class Attendee(models.Model):
    location = models.ForeignKey(Location)
    user = models.ForeignKey(User)
    checked_in = models.DateTimeField()
    checked_out = models.DateTimeField()
    last_active = models.DateTimeField()

每當他們登錄到特定位置時,簽到者就會簽到,而每當他們退出時,簽出者都會簽出。

問題在於,確定某人實際上何時“退房”,因為他們可能沒有主動退出Django用戶系統,所以我必須找到一種方法將其注冊為24小時后退房的人。

目前,我正在管理器中使用極其簡單的ORM查詢,以列出站點上的“活動”和“非活動”用戶。

expires = datetime.datetime.today() - datetime.timedelta(seconds=settings.AUTO_CHECKOUT_AFTER)
# Get people who were last active more than 24 hours ago OR who have checked out
inactive_users = User.objects.all().filter(Q(attendee__last_active__lt = expires) \
                 | Q(attendee__checked_out__lte = datetime.datetime.now()), \
                 attendee__location=location).exclude(attendee__checked_out = None, attendee__checked_in__gte = expires).distinct()

什么是更好的方法呢? 我猜想需要一個相當於CRON作業的Django,以自動檢出不活動的用戶。

您不需要“相當於cron作業的Django”,而只需要cron作業。

cron應該運行一個獨立的Django腳本-您可以通過幾種不同的方式執行此操作,但是最簡單的方法是創建一個獨立的./manage.py命令

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM