populateonlinetracker.py 717 B

1234567891011121314151617181920212223
  1. from django.contrib.auth import get_user_model
  2. from django.core.management.base import BaseCommand
  3. from ...models import Online
  4. class Command(BaseCommand):
  5. help = 'Populates online tracker for user accounts that lack it.'
  6. def handle(self, *args, **options):
  7. User = get_user_model()
  8. entries_created = 0
  9. queryset = User.objects.filter(online_tracker__isnull=True)
  10. for user in queryset.iterator():
  11. Online.objects.create(
  12. user=user,
  13. current_ip=user.joined_from_ip,
  14. last_click=user.last_login,
  15. )
  16. entries_created += 1
  17. self.stdout.write('Tracker entries created: %s' % entries_created)