django .core.exceptions.FieldError: Неизвестные поля (числа), указанные для пользователя - PullRequest
0 голосов
/ 04 марта 2020

Я новичок в Django, я пытался создать формы для новых моделей, но во время работы моего сервера я получил эту ошибку:

(форма должна добавить «число» в базу данных профиля) Спасибо за помощь

(форма должна добавить «номер» в базу данных профиля) Спасибо за помощь

 File "C:\Users\xxx\PycharmProjects\web_lead_app\venv\lib\site-packages\django\forms\models.py", line 266, in __new__
    raise FieldError(message)
django.core.exceptions.FieldError: Unknown field(s) (number) specified for User

views.py

from .forms import UserRegisterForm, ProfileUpdateForm, UserUpdateForm
from django.contrib.auth.decorators import login_required

@login_required()
def profile(request):
    u_form = UserUpdateForm()
    p_form = ProfileUpdateForm()

    context = {
        "u_form": u_form,
        "p_form": p_form
    }

    return render(request, "users/profile.html", context)

forms.py

from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
from .models import Profile

class UserUpdateForm(forms.ModelForm):
    email = forms.EmailField()

    class Meta:
        model = User
        fields = ["email", "number"]


class ProfileUpdateForm(forms.ModelForm):
    number = forms.CharField(max_length=100)

    class Meta:
        model = Profile
        fields = ["number"]


models.py

from django.db import models
from django.contrib.auth.models import User
# Create your models here.


class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    number = models.CharField(max_length=100)

    def __str__(self):
        return f"{self.user.username} Profile"


1 Ответ

1 голос
/ 04 марта 2020

class UserUpdateForm (forms.ModelForm): email = forms.EmailField ()

class Meta:
    model = User
    fields = ["email"]

Их поле не является числовым в модели пользователя. Поэтому удалите из формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...