количество количества логинов определенным пользователем django?

Их любой способ целого числа логинов django? last_login поле auth_user обновляется с каждым входом в систему. Мы можем использовать то поле для подсчета количества логинов определенным пользователем?

7
задан Sujit 26 March 2010 в 21:46
поделиться

1 ответ

Да, в некотором смысле. Вам понадобится либо поле в модели 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)
5
ответ дан 6 December 2019 в 10:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: