old_contents: # -*- coding: utf-8 -*-
  """
  set_fake_passwords.py
  
      Reset all user passwords to a common value. Useful for testing in a
      development environment. As such, this command is only available when
      setting.DEBUG is True.
  
  """
  from django.conf import settings
  from django.contrib.auth import get_user_model
  from django.core.management.base import BaseCommand, CommandError
  
  from django_extensions.management.utils import signalcommand
  
  DEFAULT_FAKE_PASSWORD = 'password'
  
  
  class Command(BaseCommand):
      help = 'DEBUG only: sets all user passwords to a common value ("%s" by default)' % (DEFAULT_FAKE_PASSWORD, )
      requires_model_validation = False
  
      def add_arguments(self, parser):
          super(Command, self).add_arguments(parser)
          parser.add_argument(
              '--prompt', dest='prompt_passwd', default=False,
              action='store_true',
              help='Prompts for the new password to apply to all users'
          )
          parser.add_argument(
              '--password', dest='default_passwd', default=DEFAULT_FAKE_PASSWORD,
              help='Use this as default password.'
          )
  
      @signalcommand
      def handle(self, *args, **options):
          if not settings.DEBUG:
              raise CommandError('Only available in debug mode')
  
          if options['prompt_passwd']:
              from getpass import getpass
              passwd = getpass('Password: ')
              if not passwd:
                  raise CommandError('You must enter a valid password')
          else:
              passwd = options['default_passwd']
  
          User = get_user_model()
          user = User()
          user.set_password(passwd)
          count = User.objects.all().update(password=user.password)
  
          print('Reset %d passwords' % count)
  
new_contents: # -*- coding: utf-8 -*-
  """
  set_fake_passwords.py
  
      Reset all user passwords to a common value. Useful for testing in a
      development environment. As such, this command is only available when
      setting.DEBUG is True.
  
  """
  from django.conf import settings
  from django.contrib.auth import get_user_model
  from django.core.management.base import BaseCommand, CommandError
  
  from django_extensions.management.utils import signalcommand
  
  DEFAULT_FAKE_PASSWORD = 'password'
  
  
  class Command(BaseCommand):
      help = 'DEBUG only: sets all user passwords to a common value ("%s" by default)' % (DEFAULT_FAKE_PASSWORD, )
      requires_system_checks = False
  
      def add_arguments(self, parser):
          super(Command, self).add_arguments(parser)
          parser.add_argument(
              '--prompt', dest='prompt_passwd', default=False,
              action='store_true',
              help='Prompts for the new password to apply to all users'
          )
          parser.add_argument(
              '--password', dest='default_passwd', default=DEFAULT_FAKE_PASSWORD,
              help='Use this as default password.'
          )
  
      @signalcommand
      def handle(self, *args, **options):
          if not settings.DEBUG:
              raise CommandError('Only available in debug mode')
  
          if options['prompt_passwd']:
              from getpass import getpass
              passwd = getpass('Password: ')
              if not passwd:
                  raise CommandError('You must enter a valid password')
          else:
              passwd = options['default_passwd']
  
          User = get_user_model()
          user = User()
          user.set_password(passwd)
          count = User.objects.all().update(password=user.password)
  
          print('Reset %d passwords' % count)
  
subject: Update set_fake_passwords.py