Операционная ошибка при использовании импортированной модели Django
Я новичок во фреймворке Django и пытался сохранить данные в таблицу AbstractUser из регистрационной формы. Но когда я пытаюсь импортировать таблицу в views.py, она становится непригодной для последующих операций. Пожалуйста, помогите мне найти, где я допустил ошибку:
from django.shortcuts import render
from django.urls import reverse
from django.db import IntegrityError
from django.http import HttpResponse, HttpResponseRedirect
from django.contrib.auth import authenticate, login, logout
from .models import User
#from django.core.paginator import Paginator
def index(request):
return render(request, "index.html",{
})
def register(request):
if request.method == "POST":
username = request.POST["username"]
email = request.POST["email"]
# Ensure password matches confirmation
password = request.POST["password"]
confirmation = request.POST["confirmation"]
if password != confirmation:
return render(request, "register.html", {
"message": "Passwords must match."
})
# Attempt to create new user
try:
test = User
test2 = User.objects.all()
user = User.objects.create_user(username, email, password)
user.save()
except IntegrityError:
return render(request, "register.html", {
"message": "Username already taken."
})
login(request, user)
return HttpResponseRedirect(reverse("index"))
else:
return render(request, "register.html")
def login_page(request):
if request.method == "POST":
# Attempt to sign user in
username = request.POST["username"]
password = request.POST["password"]
user = authenticate(request, username=username, password=password)
# Check if authentication successful
if user is not None:
login(request, user)
return HttpResponseRedirect(reverse("index"))
else:
return render(request, "login.html", {
"message": "Invalid username and/or password."
})
else:
return render(request, "login.html")
*тест и тест2 были включены в целях отладки
Вот отладка Django: Источник операционной ошибки и локальные переменные
А вот сам файл models.py в той же папке проекта Tasker:
from django.contrib.auth.models import AbstractUser
from django.db import models
class User(AbstractUser):
pass
Спасибо!
Мне просто пришлось запустить python manage.py makemigrations Tasker
.
Facepalm. Спасибо всем, кто взглянул.