计算特定用户django的登录次数?

他们以任何方式计算django登录的数量?
每次登录都会更新auth_user的last_login字段.
我们可以使用该字段来计算特定用户的登录次数吗?
最佳答案
是的,从某种意义上说.您需要app app的UserProfile模型中的字段来保存登录次数,或者需要单独的模型来存储完整的登录历史记录.然后为last_login更新添加信号处理程序,并将其记录在您选择的模型中.这是我的例子:

from django.db import models, signals
from django.contrib.auth.models import User

class UserLogin(models.Model):
    """Represent users' logins, one per record"""
    user = models.ForeignKey(user) 
    timestamp = models.DateTimeField()

def user_presave(sender, instance, **kwargs):
    if instance.last_login:
        old = instance.__class__.objects.get(pk=instance.pk)
        if instance.last_login != old.last_login:
            instance.userlogin_set.create(timestamp=instance.last_login)

signals.pre_save.connect(user_presave, sender=User)

转载注明原文:计算特定用户django的登录次数? - 代码日志