Форум сайта python.su
Приветствую,
Есть модель:
class UserActivityLog(models.Model): user = models.ForeignKey(User, related_name='user_activity_log', verbose_name=u'Пользовтель') created = models.DateTimeField(_(u'Создана'), auto_now_add=True) user_ip = models.IPAddressField(_(u'IP пользователя'), blank=True, null=True) class Meta: db_table = 'user_activity_log' ordering = ['-created'] verbose_name = _(u'Активность пользователя') verbose_name_plural = _(u'Активность пользователей')
login_count = ( UserActivityLog.objects .filter(user_id=request.user.id) .count() )
Офлайн
Можно с помощью QuerySet.dates():
import datetime start_date = datetime.date(2012, 7, 1) end_date = datetime.date(2012, 7, 31) login_count = UserActivityLog.objects.filter( user_id=request.user.id, created__range=(start_date, end_date), ).dates('created', 'day').count()
activities = UserActivityLog.objects.filter( user_id=request.user.id, created__range=(start_date, end_date), ).order_by('created') login_count = sum(1 for _, _ in itertools.groupby(activities, lambda x: x.created.day))
Отредактировано reclosedev (Июль 29, 2012 13:46:19)
Офлайн