User Registration with error: no such table: auth_user
authentication, django, python
Solution
Update
You are probably getting this error because you are using `UserCreationForm` modelform, in which in `META` it contains `User`(django.contrib.auth.models > User) as model.
class Meta:
model = User
fields = ("username",)
And here you are using your own custom auth model, so tables related to `User` has not been created. So here you have to use your own custom modelform. where in Meta class, model should be your `User`(books.User) model
Problem
I am trying to use Django's default Auth to handle register and log in. `setting.py`: ``` INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'books', ) MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ) AUTH_USER_MODEL = 'books.User' ``` `books.models.py`: ``` class User(AbstractUser): account_balance = models.DecimalField(max_digits=5, decimal_places=2, default=0) ``` `views.py`: ``` from django.contrib.auth.forms import UserCreationForm def register(request): if request.method == 'POST': form = UserCreationForm(request.POST) if form.is_valid(): new_user = form.save() return HttpResponseRedirect("/accounts/profile/") else: form = UserCreationForm() return render(request, "registration/register.html", {'form': form,}) ``` `urls.py`: ``` urlpatterns = patterns('', (r'^accounts/login/$', login), (r'^accounts/logout/$', logout), (r'^accounts/profile/$', profile), (r'^accounts/register/$', register), ) ``` I tried deleting the `db.sqlite3` file and re-ran `python manage.py syncdb` but I still get this error message: ``` OperationalError at /accounts/register/ no such table: auth_user Request Method: POST Request URL: http://127.0.0.1:8000/accounts/register/ Django Version: 1.7b4 Exception Type: OperationalError Exception Value: no such table: auth_user ```