Django.core.exceptions.FieldError: Неизвестное поле(а) (PhoneNumber, City, Email, KYCDocument, Image, Speciality) указано для врача
Я пытаюсь сделать форму с помощью modelsform, она работала нормально, но вдруг, я не знаю, что вдруг произошло, и она начала выдавать мне эту ошибку django.core.exceptions.FieldError: Unknown field(s) (PhoneNumber, City, Email, KYCDocument, Image, Speciality) specified for Doctor
Я проверил эту ошибку в Интернете и попробовал несколько решений, но ничего не получилось .
здесь находится файл forms.py
from django import forms
from .models import Doctor
class Doctorslist(forms.ModelForm):
class Meta:
model = Doctor
fields = ('name','PhoneNumber','Email','City','Speciality','Image','KYCDocument')
здесь находится файл models.py
from django.db import models
from phonenumber_field.modelfields import PhoneNumberField
# Create your models here.
class Doctor(models.Model):
name = models.CharField(max_length=20)
phone_number = PhoneNumberField(null=False, blank=False, unique=True)
email = models.EmailField(max_length = 100)
city = models.CharField(max_length=100)
speciality = models.CharField(max_length=50)
doc_image = models.ImageField(upload_to = 'blog_images', verbose_name = "Image")
kycdocument = models.ImageField(upload_to = 'blog_images', verbose_name = "kycImage")
Поля должны принимать имена полей в вашей модели, так:
class Doctorslist(forms.ModelForm):
class Meta:
model = Doctor
fields = ('name', 'phone_number', 'email', 'city', 'speciality', 'doc_image', 'kycocument')
Вы должны неиспользовать verbose_name
поля или писать поля заглавными буквами. Это просто имена полей, которые вы определяете в форме.
Если вы хотите показать эти поля по-другому на стороне HTML, вы можете определить verbose_name=…
[Django-doc] для этого поля, или установить label
в форме. Например:
class Doctor(models.Model):
name = models.CharField(verbose_name="Doctor's name", max_length=20)
# …
или в форме с опцией labels
[Django-doc]:
class Doctorslist(forms.ModelForm):
class Meta:
model = Doctor
fields = ('name', 'phone_number', 'email', 'city', 'speciality', 'doc_image', 'kycocument')
labels = {
'name': "doctor's name"
}