Проблема с AbstractUser!
Проблема с AbstructUser, такая история добавил я знач этот AbstructUser, написал в форму, в сеттингсе тоже AUTH_USER_MODEL тоже написал, и тут я знач в форму его закинул и поля который я добавил там, и все такая ошибка вылезла
Миграцию конечно же делал, так же удалял миграций и по новой, а так же сделал миграцию приложение
OperationalError at /register/ no such table: games_project_customuser
forms.py
class UserLoginForm(AuthenticationForm):
username = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control',
'autocomplete': 'off'}))
password = forms.CharField(widget=forms.PasswordInput(attrs={'class': 'form-control'}))
class UserRegisterForm(UserCreationForm):
username = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control',
'autocomplete': 'off'}))
email = forms.EmailField(widget=forms.EmailInput(attrs={'class': 'form-control',
'autocomplete': 'off'}))
password1 = forms.CharField(widget=forms.PasswordInput(attrs={'class': 'form-control'}))
password2 = forms.CharField(widget=forms.PasswordInput(attrs={'class': 'form-control'}))
bio = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control', 'rows': 5,
'autocomplete': 'off'}))
country = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control',
'autocomplete': 'off'}))
hobby = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control',
'autocomplete': 'off'}))
avatar = forms.ImageField(widget=forms.ClearableFileInput(attrs={'class': 'form-
control'}))
profile_username = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control',
'autocomplete': 'off'}))
birth_date = forms.DateField(widget=forms.DateInput(attrs={'class': 'form-control'}))
class Meta:
model = CustomUser
fields = ('username', 'email', 'password1', 'password2', 'bio', 'country', 'hobby',
'avatar', 'profile_username', 'birth_date')
view.py
def register(request):
if request.method == 'POST':
form = UserRegisterForm(request.POST, request.FILES)
if form.is_valid():
user = form.save()
login(request, user)
Profile.objects.create(user=user)
return redirect('/')
else:
form = UserRegisterForm(request.FILES)
return render(request, 'games_forms/register.html', {'form': form})
def user_login(request):
if request.method == 'POST':
form = UserLoginForm(data=request.POST)
if form.is_valid():
user = form.get_user()
login(request, user)
return redirect('/')
else:
form = UserLoginForm()
return render(request, 'games_forms/login.html', {'form': form})
models.py
class Profile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE,
verbose_name='Имя', null=True)
bio = models.TextField(null=True, verbose_name='Биография', max_length=5000)
country = models.CharField(max_length=30, verbose_name='Страна', null=True)
hobby = models.CharField(max_length=300, verbose_name='Хобби', null=True)
avatar = models.ImageField(upload_to='games_images/%Y/%m/%d', null=True,
verbose_name='Аватарка пользователя')
profile_username = models.CharField(max_length=30, verbose_name='Профильное имя')
birth_date = models.DateField(null=True, verbose_name='Дата рождение')
created_at = models.DateTimeField(auto_now_add=True, null=True)
updated_at = models.DateTimeField(auto_now=True, null=True)
class Meta:
verbose_name = 'Профиль'
verbose_name_plural = 'Профили'
def __str__(self):
return str(self.user)
def get_absolute_url(self):
return reverse("profile_view", kwargs={"slug": self.profile_username})
class CustomUser(AbstractUser):
bio = models.TextField(null=True, verbose_name='Биография', max_length=5000)
country = models.CharField(max_length=30, verbose_name='Страна', null=True)
hobby = models.CharField(max_length=300, verbose_name='Хобби', null=True)
avatar = models.ImageField(upload_to='games_images/%Y/%m/%d', null=True,
verbose_name='Аватарка пользователя')
profile_username = models.CharField(max_length=30, verbose_name='Профильное имя')
birth_date = models.DateField(null=True, verbose_name='Дата рождение')
created_at = models.DateTimeField(auto_now_add=True, null=True)
updated_at = models.DateTimeField(auto_now=True, null=True)