2

I'm running Django and trying to create a superuser but I keep getting the following error whenever I try execute a passwd or createsuperuser command. I am using Django 1.3 on a PostgreSQL database.

$ python manage.py createsuperuser
...
Traceback (most recent call last):
  File "manage.py", line 19, in <module>
    execute_manager(settings)
  File "/home/stephen/.virtualenvs/s/lib/python2.7/site-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/home/stephen/.virtualenvs/s/lib/python2.7/site-packages/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/stephen/.virtualenvs/s/lib/python2.7/site-packages/django/core/management/base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/home/stephen/.virtualenvs/s/lib/python2.7/site-packages/django/core/management/base.py", line 229, in execute
    self.stdout.write(output)
TypeError: expected a character buffer object

If I try passwd I get the useless stacktrace:

File "/var/www/envs/s/lib/python2.7/site-packages/django/contrib/auth/management/commands/createsuperuser.py", line 134, in handle
    User.objects.create_superuser(username, email, password)
  File "/var/www/envs/s/lib/python2.7/site-packages/django/contrib/auth/models.py", line 140, in create_superuser
    u = self.create_user(username, email, password)
  File "/var/www/envs/s/lib/python2.7/site-packages/django/contrib/auth/models.py", line 136, in create_user
    user.save(using=self._db)
  File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/base.py", line 460, in save
    self.save_base(using=using, force_insert=force_insert, force_update=force_update)
  File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/base.py", line 570, in save_base
    created=(not record_exists), raw=raw, using=using)
  File "/var/www/envs/s/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line 172, in send
    response = receiver(signal=self, sender=sender, **named)
  File "/var/www/spurfly/master/apps/member/models.py", line 751, in create_profile
    profile, new = UserProfile.objects.get_or_create(user=instance)
  File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/manager.py", line 135, in get_or_create
    return self.get_query_set().get_or_create(**kwargs)
  File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/query.py", line 378, in get_or_create
    return self.get(**lookup), False
  File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/query.py", line 344, in get
    num = len(clone)
  File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/query.py", line 82, in __len__
    self._result_cache = list(self.iterator())
  File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/query.py", line 273, in iterator
    for row in compiler.results_iter():
  File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 680, in results_iter
    for rows in self.execute_sql(MULTI):
  File "/var/www/envs/s/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 735, in execute_sql
    cursor.execute(sql, params)
  File "/var/www/envs/s/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 44, in execute
    return self.cursor.execute(query, args)
django.db.utils.DatabaseError: current transaction is aborted, commands ignored until end of transaction block

Here is my virtualenv.

$ pip freeze              
Django==1.3
wsgiref==0.1.2
mimeparse==0.1.3

Any ideas? Thanks!

2
  • The way I see it you have to call it either like this python manage.py createsuperuser or like this python manage.py createsuperuser --username admin. And assuming you have enabled django.contrib.auth. Commented May 25, 2011 at 21:15
  • Sorry, just a typo on my part. I was using manage.py createsuperuser, the command prompts me for username and password but fails to set them. Commented May 25, 2011 at 21:18

1 Answer 1

2

You're giving wrong parameters. You should try:

python manage.py createsuperuser --username=admin [email protected]

Also:

https://docs.djangoproject.com/en/1.3/topics/auth/

Sign up to request clarification or add additional context in comments.

5 Comments

Tried it with those parameters, it prompts me for a password for user admin and then throws the TypeError mentioned above.
So, what do you type for pasword?
I tried exact environment settings with you and it works well. I think there is a problem with your shell.
Did anyone else find out what was happening? This is how I feel now... xkcd.com/979
To the future: This: code.djangoproject.com/ticket/20856 was my issue (and probably something similar for OP )

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.